cac*_*tus 4 cocoa core-data nsmanagedobjectcontext
我想遍历NSManagedObjectContext中的所有对象,并手动更新它们.然后,应更新每个托管对象.最好的方法是什么?
从理论上讲,您可以遍历托管对象模型中的所有实体描述,为它们构建无谓词提取请求,然后遍历所有返回的对象并进行一些更新.例:
// Given some NSManagedObjectContext *context
NSManagedObjectModel *model = [[context persistentStoreCoordinator]
managedObjectModel];
for(NSEntityDescription *entity in [model entities]) {
NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
[request setEntity:entity];
NSError *error;
NSArray *results = [context executeFetchRequest:request error:&error];
// Error-checking here...
for(NSManagedObject *object in results) {
// Do your updates here
}
}Run Code Online (Sandbox Code Playgroud)
注意,您可以通过测试类相等性(使用isKindOfClass:或相关方法)或通过确定当前实体的类(使用managedObjectClassName属性on entity与NSClassWithName()方法一起使用)来转换必要时返回的NSManagedObjects .
| 归档时间: |
|
| 查看次数: |
4338 次 |
| 最近记录: |