Toa*_*tor 1 core-data objective-c ios
干杯,
我遇到核心数据的问题,我想我只是再次朝错误的方向看.
如果我调用registeredObjects它,我的managedObjectContext将返回一个空的NSSet .但是,如果我事先执行了一次获取操作,它将返回与刚刚获取的fetch相同的对象.
没有多线程正在进行中.
这是我做的:
[self setupContext]; // This will set up managedObjectContext, which is a property of this class
// Fetching...
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *foo = [NSEntityDescription entityForName:@"Foo" inManagedObjectContext:managedObjectContext];
[request setEntity:foo];
NSError *fetchError = nil;
NSArray *fetchResults = [managedObjectContext executeFetchRequest:request error:&ftchError];
NSLog(@"Fetch returned %i objects.", [fetchResults count]);
[request release];
// Done fetching...
NSArray *allObjects = [[managedObjectContext registeredObjects] allObjects];
NSLog(@"Context contains %i objects...", [allObjects count]);
Run Code Online (Sandbox Code Playgroud)
商店包含30个对象.如果我运行上面的代码,两个NSLog将报告五个对象.如果我删除两个注释之间的获取部分,它将报告整个上下文的零对象.
请注意,我决不会提交或以其他方式更改上下文内容.
我是否需要先强制上下文自我刷新?我以前从来没有这样做过,我不记得registeredObjects在其他场合首先就是这样.
任何建议赞赏!Toastor
你可能会对什么registeredObjects意思感到困惑.这是当前所在的对象集NSManagedObjectContext.这不是商店中的对象集,只是上下文中的对象集.如果您尚未在上下文中提取或以其他方式注册对象,则它们将不会进入registeredObjects.
| 归档时间: |
|
| 查看次数: |
1308 次 |
| 最近记录: |