我正在尝试将AFIncrementalStore用于与App.Net对话的Mac应用程序。与框架附带的示例应用程序不同,我使用的是带有websocket连接的流式API。为此,我使用的是SocketRocket。这些部分工作正常:我能够建立与ADN的请求连接并返回连接ID。这是我为后来的ADN API请求提供的连接ID。
我的问题是在从ADN返回第一个连接ID之前,Core Data堆栈已初始化并触发。我不知道如何处理这种情况。
目前,我在我的app delegate中有这个代码:
self.socketConnection = [[MUNConnectionManager alloc] init];
self.socketConnection.delegate = self;
我的连接管理器实现了一个委托,在收到连接ID时回调给app委托:
# pragma mark MUNConnectionManager delegate method
- (void)didReceiveConnectionId:(NSString*)connectionId
{
self.connectionId = connectionId;
}
因此,一旦收到此连接ID,那就是我想将AFIncrementalStore引导到行动中。但是这可能是在发布后大约一整秒,而我的AFIncrementalStore客户端已经开始了,因为它没有那个连接ID。
任何建议都赞赏!
答案 0 :(得分:0)
我想我可能已经找到了答案。在我的XIB中,我有一个带有“准备内容”复选框的阵列控制器。这将触发数据存储并加载所有Core Data堆栈。当我取消选中该框时,它不会加载,我的ADN代表可以自由提取ID。
因此,如果有其他人遇到此问题,那么答案是CD堆栈在您尝试点击之前不会加载。