Cor*_*ode 1 delegates core-data objective-c nsfetchedresultscontroller ios
我有一个核心数据实体,它从Web服务接收定期更新.当此核心数据实体更改其内容时,我希望在我的一个View Controller类上调用委托方法.这样我就可以更新该视图控制器上的相应数据.我该怎么做呢
这类似于NSFetchedResultsController,它在更改Core Data内容时向表视图发送委托消息,但在这种情况下我不希望使用NSFetchedResults Controller.
谢谢
如果我是你,我实际上会做除委托以外的事情:我会使用通知.
您可以观察"NSManagedObjectContextDidSaveNotification",当它保存Web服务的更改时,您可以在视图控制器中对活动进行排队.
所以,假设您想在创建视图控制器时启动此遵守,并在视图控制器完成时完成:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(managedObjectContextDidSave:) name:NSManagedObjectContextDidSaveNotification object:nil];
}
return self;
}
- (void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
Run Code Online (Sandbox Code Playgroud)
然后你需要做的就是观察变化:
- (void)managedObjectContextDidSave:(NSNotification *)notification {
// Update your stuff here.
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1671 次 |
| 最近记录: |