创建NSPredicate实例

时间:2018-04-04 14:21:59

标签: swift xcode core-data nspredicate swift4.1

所以这是在Xcode 9.2中使用的代码:

let request: NSFetchRequest<MyModel> = MyModel.fetchRequest()
request.predicate = NSPredicate(format: "saved = %@", true as CVarArg)

在更新到Xcode 9.3和Swift 4.1之后,代码崩溃了:

  

线程1:EXC_BAD_ACCESS(代码= 1,地址= 0x1)

这是崩溃的部分

NSPredicate(format: "saved = %@", true as CVarArg)

MyModel实体的已保存属性声明为boolean。为什么这种情况开始发生但之前有效?

1 个答案:

答案 0 :(得分:1)

如果您一直在寻找saved = true,那么您不必过于复杂化,只需在谓词中使用字符串文字即可。

NSPredicate(format: "saved == true")