我有一個應用程序正在從plist中檢索其信息。 plist
是帶有鍵(作者,貓,內容)的Dictionaries
的數組。 現在我想在表格中顯示類別。 所以我需要所有獨特的類別條目以排序的方式。消除數組中的重複條目並對結果進行排序
我已成功實施以下方法,但如果這是「正確」解決方案,我很感興趣。
- 去通過的plist陣列中,並使新
NSMutableArray
與字典 - 的所有類別 條目把這個
NSMutableArray
成NSSet
獲得獨特的元素 - 把這個
NSSet
到NSArray
有可能性排序它。 - 返回與分類
NSArray
我覺得不是發起NSMutableArray
,這是這樣做的正確方法。 有什麼建議可以做得更好?
非常感謝!
//InhaltefromWEb is a NSMutableArray
-(NSArray*) getCategories {
NSMutableArray* categorieTemp = [[NSMutableArray alloc] init];
unsigned count = [InhalteFromWeb count];
while (count--) {
NSString *tempString;
tempString=[[InhalteFromWeb objectAtIndex:count] objectForKey:CATEGORY];
NSLog(@"tempString %@", tempString);
[categorieTemp addObject:tempString];
}
NSSet *uniqueElements = [NSSet setWithArray:categorieTemp];
NSLog(@"categories from engine %@", categorieTemp);
NSArray* tempAr = [[[NSArray alloc] initWithArray:[uniqueElements allObjects]]sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];
return [NSMutableArray arrayWithArray:tempAr];
}
是啊,沒關係。您可以在while循環中使用NSMutableSet而不是類別temp,並直接將字符串添加到它。 – carbonbasednerd 2011-12-17 16:21:00
好提示:-)謝謝。我仍然失去了所有這些不同類型和可能性來存儲數據,然後重新轉換。 :-)但一步一步,它會更有意義...... – Ssernengreiferin 2011-12-17 16:45:06
如果你還沒有,你還應該閱讀核心數據作爲數據存儲解決方案。 – carbonbasednerd 2011-12-17 16:53:18