NSFetchRequest在核心数据中使用NSPredicate

时间:2013-04-28 13:59:45

标签: ios objective-c core-data nspredicate nsexpression

我有NSData类型的属性,我想在此属性中搜索字符串,如何使用NSPredicate执行此搜索?

我尝试将NSPredicate用于块,但基于Core Data SQlite的商店不支持带谓词的谓词。

2 个答案:

答案 0 :(得分:3)

你不能轻易做到这一点。使用块的谓词不起作用的原因是它没有在SQLite存储中实现,因为以有效的方式这样做并不是一件容易的事。

您可以拥有第二个属性,其中包含该数据的字符串表示形式或字符串表示形式的精简版本,并使用此属性。

您必须确保这些属性保持同步,并确保这两个属性不是瞬态的。

答案 1 :(得分:0)

为什么你有一个NSData属性?存储时将其转换为NSString并相应地更改数据模型。

将字符串存储在数据对象中是没有意义的。