我试图创建一个从未知(可能很多)对象属性中收集的字符串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];'? –
是的。那么我会得到一个由对象组成的集合而不是对象的类别属性。我需要一组在本月内使用的所有类别名称:) –