我有NSData
类型的属性,我想在此属性中搜索字符串,如何使用NSPredicate
执行此搜索?
我尝试将NSPredicate
用于块,但基于Core Data SQlite的商店不支持带谓词的谓词。
答案 0 :(得分:3)
你不能轻易做到这一点。使用块的谓词不起作用的原因是它没有在SQLite存储中实现,因为以有效的方式这样做并不是一件容易的事。
您可以拥有第二个属性,其中包含该数据的字符串表示形式或字符串表示形式的精简版本,并使用此属性。
您必须确保这些属性保持同步,并确保这两个属性不是瞬态的。
答案 1 :(得分:0)
为什么你有一个NSData
属性?存储时将其转换为NSString
并相应地更改数据模型。
将字符串存储在数据对象中是没有意义的。