1

我正在嘗試爲與App.Net交談的Mac應用程序採用AFIncrementalStore。與框架附帶的示例應用程序不同,我使用流式API和WebSocket連接。爲此,我使用SocketRocket。這些部分工作正常:我可以建立到ADN的請求連接並獲取連接標識。這是我爲以後對ADN API的請求提供的連接ID。在WebSockets應用程序中使用AFIncrementalStore

我的問題是核心數據堆棧被初始化並在我從ADN獲得第一個連接ID之前觸發。我不知道如何處理這種情況。

目前,我有這樣的代碼在我的應用程序委託:

self.socketConnection = [[MUNConnectionManager alloc] init]; 
self.socketConnection.delegate = self; 

我的連接管理器實現了回調,當連接ID已收到應用程序委託的委託:

# pragma mark MUNConnectionManager delegate method 
- (void)didReceiveConnectionId:(NSString*)connectionId 
{ 
    self.connectionId = connectionId; 
} 

所以一旦收到這個連接標識,那就是當我想啓動AFIncrementalStore的時候。但是這可能是在啓動後的整整一秒左右,而且我的AFIncrementalStore客戶端已經沒有這個連接ID了。

任何建議表示讚賞!

回答

0

我想我可能已經找到了答案。在我的XIB中,我有一個「準備內容」複選框的陣列控制器。這將觸發數據存儲並加載所有核心數據堆棧。當我取消選中該框時,它不會加載,並且我的ADN委託可以自由提取該ID。

所以如果其他人遇到這個問題,答案是CD堆棧不會加載,直到您嘗試點擊它。

相關問題