在我的iOS应用中,有几个不同的视图控制器,每个都有自己的数据。我希望在我的应用程序中有一个中心位置,我可以观察数据存储区服务器上的任何更改。然后,此中心位置将通知应用程序的其他各个部分以使用最新数据进行更新。我这样做的原因是因为我正在将数据存储区同步到本地SQLite数据库。
我尝试将观察者添加到视图控制器中,如下所示:
__weak typeof(self) weakSelf = self;
[self.store addObserver:self block:^() {
if(weakSelf.store.status & DBDatastoreIncoming) {
NSDictionary *changes = [weakSelf.store sync:nil];
// Handle the updated data
NSLog(@"Changes: %@",changes);
}
}];
在其他设备上更改数据后,此观察者不会触发。
如果无法使用中央同步观察器,这是否意味着我必须为每个具有可同步数据的视图控制器添加一个观察者?