我正在尝试采用AFIncrementalStore作为与App.Net对话的Mac应用程序。与框架附带的示例应用程序不同,我使用的是带有websocket连接的流API。为此,我使用了SocketRocket。这些部分运行良好:我能够设置到ADN的请求连接,并获得一个连接ID。这是我提供给后来对ADN的请求的连接ID。
我的问题是,在我从ADN获得第一个连接ID之前,将初始化核心数据栈并启动它。我不知道该怎么处理这种情况。
目前,我的应用程序委托中有以下代码:
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。
如有任何建议请见谅!
发布于 2013-07-28 02:44:01
我想我可能找到了答案。在我的XIB中,我有一个带有“准备内容”复选框的数组控制器。这将触发数据存储并加载所有Core数据堆栈。当我取消选中该复选框时,它不会加载,而我的ADN委托可以自由地提取ID。
因此,如果其他人遇到这种情况,答案是,在尝试点击CD堆栈之前不会加载它。
https://stackoverflow.com/questions/17904266
复制相似问题