核心数据 NSPredicate“已删除 == NO”无法按预期工作

2023-11-26

我正在将 UIManagedDocument 与父子上下文一起使用。

在我的孩子的背景下,我做了以下事情

Code 1

NSSet *results = [self.event.memberships filteredSetUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) {

    return ([[evaluatedObject deleted] boolValue] == NO);

}]];

上面的代码返回预期结果(仅事件的未删除成员)。

Code 2

但这段代码没有。它获取所有记录。

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"deleted == NO"];
NSSet *results = [self.event.memberships filteredSetUsingPredicate:predicate];

看起来很混乱。两者都应该返回相同的结果,但是predicateWithBlock返回正确的结果,其中predicateWithFormat返回所有记录。

使用有什么优点和缺点predicateWithBlock代替predicateWithFormat?


问题是你定义了一个属性deleted为您的实体。这与isDeleted的方法NSManagedObject,所以您应该重命名该属性。

以下“实验”表明,如果您将属性称为“已删除”,则会发生奇怪的事情(c是一个具有自定义的托管对象deleted属性):

// Set custom "deleted" property to YES:
c.deleted = @YES;

// Use the property, as your Code 1
NSLog(@"%@", [c deleted]);
// Output: 1

// Use Key-Value Coding, as your Code 2
NSLog(@"%@", [c valueForKey:@"deleted"]);
// Output: 0

// Now really delete the object and try again:
[context deleteObject:c];
NSLog(@"%@", [c valueForKey:@"deleted"]);
// Output: 1

您的“代码 1”指的是该属性,因此它返回预期结果。 “代码 2”使用键值编码,并且[c valueForKey:@"deleted"]回报YES如果物体 实际上已经从上下文中删除了!

因此,重命名该属性应该可以解决您的问题。不幸的是编译器没有 如果属性名称与内置方法冲突,则发出警告。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

核心数据 NSPredicate“已删除 == NO”无法按预期工作 的相关文章

  • 将 NSString 分离成 N​​SArray,但允许用引号对单词进行分组

    我有一个搜索字符串 人们可以使用引号将短语组合在一起 并将其与单个关键字混合 例如 像这样的字符串 Something amazing rooster 我想把它分成一个 NSArray 这样它就有Something amazing 不带引号
  • _ 和 self 之间的区别。在 Objective-C 中

    使用下划线和使用selfObjective C 中调用时的关键字 property 财产申报 property weak nonatomic NSString myString Calling synthesize关于物业 synthesi
  • 如何去除 UIImageView 遮罩后的透明区域?

    在我的一个 iOS 应用程序中 我尝试使用以下命令剪切图像的一部分CGImageMask 我已成功使用以下代码屏蔽图像 UIImage maskImage UIImage referenceImage withMask UIImage ma
  • 将 iCloud 存储迁移到本地存储并确保每次应用程序启动时数据都在那里

    基于这里的问题 将 iCloud 数据迁移到本地存储并阻止 iCloud 继续响应 https stackoverflow com questions 25186787 migrate icloud data to local store
  • 比较具有相同值但顺序不同的两个数组

    我有 2 个 nsarray 具有相同的值但顺序不同 NSArray array1 0 1 2 3 NSArray array2 2 3 1 0 我需要一种方法来确定两个数组是否具有不同顺序的相同值 Kind of BOOL isSameV
  • GCD 和线程

    我想了解一些有关 GCD 和线程的知识 我的视图控制器中有一个 for 循环 它要求我的模型执行一些异步网络请求 因此 如果循环运行 5 次 模型将发出 5 个网络请求 考虑到我正在使用 NSURLConnection 的 sendAsyn
  • UITableViewCell 的 viewDidAppear

    我通常使用viewDidAppear方法在视图完成出现后在视图上执行一些 UI 操作 我在各种情况下使用了此方法 它非常有用 但是 我需要在视图上进行一些 UI 更改UITableViewCell当它完成出现后 SDK中是否有任何可用的方法
  • 如何获取核心数据中现有实体(表)的列表

    如何获取核心数据中特定模式 托管对象模型 的现有实体 表 列表 我刚刚开始实施核心数据概念并坚持这些要点 就像是 SELECT COUNT FROM information schema tables WHERE table schema
  • 根据一个属性对数组进行排序[重复]

    这个问题在这里已经有答案了 我有一个名为 NSMutableArrayallItems其中有以下内容ProductData目的 每个对象都有cid cname ctype and cimage 正如您在下面看到的 json 对象没有按顺序出
  • 如何使用 iOS 可达性

    我正在开发一个使用网络的 iPhone 应用程序 iPhone 通过 HTTP 请求与我的服务器通信 并且应该可以在 WiFi 和 3G 上运行 我目前使用NSURLConnection initWithRequest向我的服务器发送异步请
  • 如何在 UITableView 中显示零行的表格

    我正在动态地将内容加载到 UITableView 中 如果有数据 表格需要显示数据 如果没有数据 表格应显示普通页面 但在我的应用程序中 表格显示带有两条分隔线的普通页面 我需要删除此分隔线并显示纯白色页面 请建议 任何帮助 将不胜感激 如
  • NSCalendar 返回明年第一周上周一的错误日期

    我使用下面的代码使用随机日期来计算上周一 哪个工作文件但我的代码在明年日期中断 下面是相同的代码 NSDate date NSDate dateWithTimeIntervalSince1970 1483620311 228 NSLog c
  • UILocalNotification 在后台 10 分钟后不提示

    In didFinishLaunchingWithOptions调用函数的定时器循环httpRequest每 1 分钟间隔一次 BOOL application UIApplication application didFinishLaun
  • 如何将 NSSecureCoding 与 id 对象一起使用

    我正在创建一个链接列表并使用容器对对象 下一个和上一个属性进行分组 就像基金会收藏一样 我希望它能够实现NSSecureCoding 这是声明 interface ListContainer NSObject
  • 如何检测 UISwipeGestureRecognizer 的结束?

    来自苹果文档 滑动是一种离散手势 因此每个手势仅发送一次关联的操作消息 void touchesEnded NSSet touches withEvent UIEvent event 当我使用 UISwipeGestureRecognize
  • Objective-C UILabel 作为超链接

    我正在尝试做一个UILabel一个链接UIWebView 我怎样才能做一个UILabel作为超链接 您可以使用 UITapGestureRecognizer 它将实现与您想要的类似的功能 UILabel myLabel UILabel al
  • UIView animateWithDuration:delay: 工作很奇怪

    我在使用 iPhone 动画块时遇到了一个奇怪的问题 这段代码 UIView animateWithDuration 2 delay 0 options 0 animations void controller setBackgroundC
  • watchOS 错误:控制器接口描述中的未知属性

    我将 WKInterfacePicker 添加到情节提要中 并将其连接到界面控制器中的 IBOutlet 运行应用程序时 它在控制台中显示一条错误消息 控制器的接口描述 watchPicker 中的未知属性 Code interface I
  • 访问目标 c 中的类方法。使用 self 还是类名?

    我正在学习 iOS 编程 并且对以下有关关键字 self 的使用的代码感到困惑 据我了解 self就像Java的this 它指的是当前实例 当我想调用类方法时 通常的方式应该是这样 PlayingCard validSuits 但是侵入实例
  • 将图像存储在核心数据中

    我想在更新记录时存储每位员工的图像 我怎样才能做到这一点 我有一个字典 存储员工的姓名 ID 和部门 现在我想将图像保存在一起 Core Data 支持 二进制数据 类型 当您定义具有二进制数据字段的模型时 它会创建具有 NSData 字段

随机推荐

  • Haskell 中的列表输出格式?

    我在尝试在 Haskell 中格式化我自己类型的列表的输出时遇到问题 我想要这样的东西 Make Model Years this is a list lt this would be the headers if you like Ite
  • 运行时 Opencv HighGui 错误 - “HIGHGUI 错误:V4L/V4L2:VIDIOC_S_CROP”。 Opencv交叉编译。主机=64位Ubuntu 12.04。目标=ARM-Cortex-A9

    我是 OpenCV 的初学者 并尽力在嵌入式平台上运行一个简单的应用程序 我交叉编译了 OpenCV 2 4 4 并根据相机和 GUI 支持的需要构建了WITH GTK ON WITH UNICAP ON WITH V4L ON 以下示例代
  • 使用 mvc-mini-profiler 降低 EF 分析性能

    当我使用以下函数创建上下文时 分析器显示比标准 EF 版本 4 上下文创建方法增加了大约 300 毫秒 是否有另一种方法可以实现更好的性能 它违背了性能分析的目的 public static Models MyEntities GetCon
  • 抽屉式导航速度慢且视图复杂

    在我的应用程序中 我使用导航抽屉 它工作得很好 但是 如果要显示的片段包含很多 TextView ImageView 和 Layout 当我单击该项目时 视图会出现故障 我会改善这种滞后 我的 Galaxy Nexus 和 Nexus 4
  • 我可以创建一个 List> 吗?

    我有课 public class Setting
  • 如何通过 Axios 解压缩 Gzip Json 响应

    我正在使用 Axios 从 Web 服务器获取 JSON 响应 响应采用压缩的 gzip 格式 如何解压响应并获取 Json 数据 axios 有一个解压缩选项 无需手动解压 const data await axios get url r
  • axios transformRequest - 如何更改 JSON 有效负载

    我在用axios在我的 Express API 中 我想在将有效负载发送到另一个 API 之前对其进行转换 axios 正好有这个功能transformRequest 但这就是我遇到问题的地方 我的代码如下所示 const instance
  • 如何首先返回具有特定值的行?

    我希望我的查询首先返回表中某列包含特定值的行 然后按字母顺序返回其余行 如果我有一个类似这个例子的表 Table Users id name city 1 George Seattle 2 Sam Miami 3 John New York
  • docx 表格单元格中的文本居中

    所以我开始使用pythondocx图书馆 现在 我创建一个包含多行 只有 2 列的表 如下所示 现在 我希望这些单元格中的文本水平居中 我怎样才能做到这一点 我已经搜索过docxAPI文档 但我只看到有关对齐段落的信息 有一段代码可以通过在
  • 如何在树莓派上安装支持JPEG的PIL?

    我尝试安装PIL在我的树莓派上读取 JPEG 文件 然而 它并不能开箱即用 当我运行以下命令时 sudo pip install pil 我在尝试打开图像时收到以下错误 decoder jpeg not available 在尝试安装所有需
  • Class.getResource 中奇怪的区分大小写错误?

    我正在使用以下代码加载图像资源 它在我的开发环境 netbeans 中工作正常 但一旦从桌面运行就抛出异常 new ImageIcon Images class getResource images highlighter24 gif 我追
  • 如何在 Visual C++ 编译期间输出编译时数值常量?

    Visual C 有 pragma message that 将字符串输出到编译器输出中 现在我有一个工厂 template
  • 将非可选 Any 与 nil 进行比较总是 false?

    我正在遍历字典 String Any 寻找nils 所以我可以将它们替换为NSNull用于 JSON 写入 我的预编译器警告告诉我比较Any to a nil永远是假的 但我知道它至少包含两个从未找到的零 有没有办法检查是否Any是零吗 可
  • 在 angularjs 中使用 ng-repeat 访问嵌套数组

    JSFiddle 我无法访问嵌套集合中的数组图像 为什么我看不到任何输出 该模型 var obj id 7 date 1 Jan images 507f42c682882 507e24b47ffdb 507e2aeca02d5 507e2b
  • 如何在我的反应测试中模拟状态和数据的值

    我正在为我的反应页面编写测试 但我的页面在其状态下使用 isLoading 加载页面时呈现 正在加载 加载但没有数据 来自获取请求 呈现 未找到数据 并且加载时呈现 未找到数据 数据 来自获取请求 加载欢迎页面 我想编写一个测试来检查在以下
  • Java 中数组的抽象维数

    在Java中 不同维度的数组有不同的类型 所以一个方法需要int 作为参数不能采用int or int 我有很多代码 其中创建的方法非常相似 但针对数组的维数 有没有一种方法可以处理任意维度的数组 从而抽象出这个常见的功能 如果您愿意放弃类
  • 从管道读取时 Win32 ReadFile 挂起

    我正在创建一个子进程并读取其输出 当子进程创建输出时 我的代码工作正常 cmd c echo Hello World 但是如果进程不创建输出 cmd c echo Hello World gt output txt 我只是在进程终止后才阅读
  • 如何在 QML 中访问动态/随机加载的 Repeater 项?

    TheBootroo 在这里提供的答案 link 提供了一种在 QML 文件 屏幕 视图之间加载和更改的方法 但是这样做时如何使用信号和槽呢 人们可以使用 Repeater itemAt index 方法访问中继器创建的项目 但由于我不知道
  • chrome 47 中的 getUserMedia() 不使用 https

    在 chrome 版本 47 中 它们强制您使用 https 才能允许使用 getUserMedia 不幸的是 我不能在整个网络中使用 https 我只在登录休息中使用它 它是一个 SPA 单页应用程序 因此 网络地址没有 https 只有
  • 核心数据 NSPredicate“已删除 == NO”无法按预期工作

    我正在将 UIManagedDocument 与父子上下文一起使用 在我的孩子的背景下 我做了以下事情 Code 1 NSSet results self event memberships filteredSetUsingPredicat