可以說我擁有一個名爲animalType的實體。 在覈心數據中,我有10,000個這樣的實體,並且有不確定數量的不同動物類型,例如,狗,貓,鳥等 我能告訴的核心數據獲取每個動物類型並返回類似於數組:CoreData是否可以返回唯一的實體屬性?
@[Dog, Cat, Bird, Fish, ...]
我不想獲取實體的數組我只是想唯一列表的animalTypes
。 應該重複否animalType
。
可以說我擁有一個名爲animalType的實體。 在覈心數據中,我有10,000個這樣的實體,並且有不確定數量的不同動物類型,例如,狗,貓,鳥等 我能告訴的核心數據獲取每個動物類型並返回類似於數組:CoreData是否可以返回唯一的實體屬性?
@[Dog, Cat, Bird, Fish, ...]
我不想獲取實體的數組我只是想唯一列表的animalTypes
。 應該重複否animalType
。
是的,你會想要NSFetchRequest
的setReturnsDistinctResults:
方法,加上setPropertiesToFetch:
和setResultType: NSDictionaryResultType
。基本上,獲取將返回一個字典數組,而這些字典將包含與您獲取的特定屬性相對應的鍵值對 - 在您的情況中,每個字典都有一個鍵,animalType
,以及該鍵的不同值。將它轉換爲像你所描述的那樣的數組將會很簡單。
這看起來不錯!我會放棄這一點,然後回去接受你的回答。 – NSWill 2013-02-08 22:15:06
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Animal"];
request.returnsDistinctResults = YES;
request.resultType = NSDictionaryResultType;
request.propertiesToFetch = @[@"animalType"];
NSArray *fetchedObjects = [self.managedObjectContext
executeFetchRequest:request error:nil];
NSArray *result = [fetchedObjects valueForKeyPath:@"animalType"];
// @[@"Dog", @"Cat", @"Fish" ...]
這也是一個傑出的答案!謝謝! – NSWill 2013-02-08 22:29:36
@Emil感謝您的編輯! – NSWill 2013-02-08 22:05:51
不客氣!請參閱[編輯幫助](http://stackoverflow.com/editing-help)瞭解格式和問題風格的提示:) – Emil 2013-02-08 22:06:58