我試圖創建一個從未知(可能很多)對象屬性中收集的字符串NSSet
。來自對象屬性的NSSet(性能)
我的應用程序的用戶在本月中記錄對象 - 它們具有不同的屬性,我只對NSString *category
名稱感興趣。
Object.h
NSString *category
...
在一個月內,他可能會記錄10到1000個這樣的對象,存儲在coredata中。用戶可以定義自己的類別 - 我必須找出哪個類別在當月使用(創建一個導出文件)。
目前我做以下(僞)
NSArray *allObjects = [_dataHandler fetchAllObjectsForMonth:monthToExport];
NSMutableSet *allCategoryNamesSet = [[NSMutableSet alloc]init];
for(Object *obj in allObjects){
[allCategoryNamesSet addObject:obj.category];
}
Wheras這個作品,它得到了很多的對象很慢作爲取需要時間和迭代,以及課程。
我已經試過類似的東西還有:
NSArray *categories = [allObjects valueForKeyPath:@"category"];
NSSet *allCategorieNamesSet = [NSSet initWithArray:categories];
也許我做錯了什麼,但它沒有相當的工作:/
我所感興趣的是,如果有一個解決辦法,可以大大加快這個過程?我可能忽略了一些東西。
任何想法?
是否有任何問題'NSMutableSet * allCategoryNamesSet = [NSMutableSet setWithArray:allObjects];'? –
是的。那麼我會得到一個由對象組成的集合而不是對象的類別屬性。我需要一組在本月內使用的所有類別名稱:) –