将AFIncrementalStore与WebSockets应用程序一起使用

时间:2013-07-28 01:54:52

标签: objective-c cocoa websocket afnetworking afincrementalstore

我正在尝试将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。

任何建议都赞赏!

1 个答案:

答案 0 :(得分:0)

我想我可能已经找到了答案。在我的XIB中,我有一个带有“准备内容”复选框的阵列控制器。这将触发数据存储并加载所有Core Data堆栈。当我取消选中该框时,它不会加载,我的ADN代表可以自由提取ID。

因此,如果有其他人遇到此问题,那么答案是CD堆栈在您尝试点击之前不会加载。