我有一个iPhone应用程序,其核心数据对象具有“颜色”属性。我想获得已保存的所有颜色值的列表。一个简单的SQL语句SELECT DISTINCT(color) FROM myObjectTable
很容易做到这一点。如何在不将所有对象(可能有数千个)加载到内存中的NSSet中的情况下在Core Data中执行此操作?
答案 0 :(得分:2)
你可以:
1)将NSFetchRequest的requestType设置为NSDictionaryResultType
2)NSFetchRequest中的“setPropertiesToFetch”只获取属性而不是整个对象。
答案 1 :(得分:0)
我还没有找到一个好的解决方案。但是你可以像Nevin建议的那样获得特定属性而不是整个托管对象。
有关详细信息,请参阅Apple文档中的Fetching Specific Values。
您将获得一个NSD阵列的NSDictionary对象,然后您可以循环,提取您正在寻找的颜色值。