ike*_*8me 23 iphone cocoa operating-system objective-c ios
Core Data中的To-Many关系由NSSet表示(通过使用Editor ... Create NSManagedObject Subclass ..菜单自动生成).
哪种迭代NSSet*最有效?
NSSet* groups = [contact groups];
for(Group* group in groups) {
NSString* groupName = [group name];
}
Run Code Online (Sandbox Code Playgroud)
要么
NSSet* groups2 = [contact groups];
NSArray* groupsArray = [groups2 allObjects];
for(Group* group in groupsArray) {
NSString* groupName = [group name];
}
Run Code Online (Sandbox Code Playgroud)
或另一种方式?
Tom*_*mmy 19
第一个可能更有效率.如果后者效率更高,那么Apple只会使用该路线来实现前者.
话虽这么说,如果你问因为性能似乎是一个问题,你可能会花费大量时间在故障对象的核心数据上.一个聪明的举动将做一个获取self in %@与groups; 将获取请求设置returnsObjectsAsFaults为NO并确保relationshipKeyPathsForPrefetching指定任何适当的请求.这样做的最终结果是,您要迭代的所有数据都会在一次访问后备存储中获取,而不是在大量单独的行程中按需获取每个数据.
| 归档时间: |
|
| 查看次数: |
21939 次 |
| 最近记录: |