ios - 核心数据无法为谓词生成 where 子句(Swift)

标签 ios core-data

我有一个带有 NSNumber 属性(存储为 64 位整数)的 Core Data 托管对象。我正在尝试使用谓词对象检索对象,如下所示:

let request = NSFetchRequest(entityName: "MyEntity")
request.predicate = NSPredicate(format: "pageId == %@", pageId)

当 then 导致以下运行时错误:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unable to generate where clause for predicate (pageId == 22205021) (unknown problem)'

在此实例中,pageId 为“22205021”。就 where 子句而言,它看起来没问题,即 pageId == 22205021 所以我不明白为什么它不起作用。

注意:我使用的是 Xcode 7 beta 4。

最佳答案

实际上这是我的错 - 我在谓词中为该对象使用了一个不存在的属性。 “MyEntity”不包含“pageId”- 更好的错误消息不会出错。

关于ios - 核心数据无法为谓词生成 where 子句(Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31833334/

相关文章:

ios - 在 UITextfield 中更改值时对分隔符进行分组

ios - 将 cell.section 传递给自定义表格单元格

ios - 滚动时从 'cellForRowAtIndexPath' 保存到 CoreData 崩溃

ios - 按关系过滤核心数据对象

ios - 更新核心数据性能

iOS Core Data - 将相关数据添加到实体

ios - 通过应用程序加载器加载应用程序时, "unsupported architecture"是什么意思?

ios - 如何获取测试设备 ID 以在 Unity3D 中测试 iOS 上的 Admob

ios - 如何在 swift 3 中发布原始数据?

ios - 从应用委托(delegate)中检索 managedObjectContext 时崩溃