Ios7 iOS上的Dropbox数据存储全局同步观察者体系结构

Ios7 iOS上的Dropbox数据存储全局同步观察者体系结构,ios7,sync,dropbox-api,Ios7,Sync,Dropbox Api,在我的iOS应用程序中,有几个不同的视图控制器,每个控制器都有自己的数据。我希望在我的应用程序中有一个中心位置,在那里我可以观察数据存储服务器上的任何更改。然后,该中心将通知应用程序的各个其他部分使用最新数据进行更新。我这样做的原因是因为我正在将数据存储同步到本地SQLite数据库 我尝试过向视图控制器添加观察者,如下所示: __weak typeof(self) weakSelf = self; [self.store addObserver:self block:^() { if(we

在我的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);
  }
}];
在另一台设备上进行数据更改后,此观察者不会触发


如果无法使用中央同步观察者,这是否意味着我必须向每个具有可同步数据的视图控制器添加观察者?

当发生更改时,您注册观察者的视图控制器可能不再存在?仅凭这段代码很难分辨。问得好。我使用的是汉堡包菜单,菜单视图控制器就是这个观察者所在的位置。我对Obj-C相当陌生,但菜单似乎总是存在的,因为它可以从任何其他视图控制器查看/打开。我的猜测仍然是,当应该调用观察者时,视图控制器不再存在。也许您可以检测视图控制器的生命周期,并查看它何时被销毁。