我正在尝试将 AFIncrementalStore 用于与 App.Net 对话的 Mac 应用程序。与框架附带的示例应用程序不同,我使用流式 API 和 websocket 连接。为此,我使用了 SocketRocket。这些部分工作正常:我能够建立到 ADN 的请求连接并获取连接 ID。这是我为以后对 ADN API 的请求提供的连接 ID。
我的问题是核心数据堆栈在我从 ADN 取回我的第一个连接 ID 之前已初始化并触发。我不确定如何处理这种情况。
目前,我的应用程序委托中有此代码:
self.socketConnection = [[MUNConnectionManager alloc] init];
self.socketConnection.delegate = self;
我的连接管理器实现了一个委托,它在收到连接 ID 时回调应用程序委托:
# pragma mark MUNConnectionManager delegate method
- (void)didReceiveConnectionId:(NSString*)connectionId
{
self.connectionId = connectionId;
}
因此,一旦收到此连接 ID,我就想将 AFIncrementalStore 启动到行动中。但这可能是在启动后整整一秒左右,而我的 AFIncrementalStore 客户端已经崩溃了,因为它没有那个连接 ID。
任何建议表示赞赏!