当我尝试获取具有特定属性的 NSManagedObject 时,我遇到了一个非常奇怪的错误。这是我所做的:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%@ == %@", LEVEL_NAME_KEY, _levelName];
在此示例中,LEVEL_NAME_KEY = @"levelName"
和 _levelName
是函数参数。
我想这样做,所以如果我更改我的键名,我可以通过仅更改 LEVEL_NAME_KEY
在 header 中更改它。但它不起作用(当我执行提取时它不返回任何内容)。
但是,当我这样写的时候:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"levelName == %@", _levelName];
一切正常,我得到了正确的 NSManagedObject。
有人对此有意见吗?这是一个已知错误吗?是否有解决方案?
提前致谢!
最佳答案
关于iOS 核心数据 - NSFetchRequest 和 NSPredicate 不允许双重格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18383718/