所以这是在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。为什么这种情况开始发生但之前有效?
答案 0 :(得分:1)
如果您一直在寻找saved = true,那么您不必过于复杂化,只需在谓词中使用字符串文字即可。
NSPredicate(format: "saved == true")