0
我的應用程序在後臺隊列中處理套接字連接。在將從連接隊列中調用的助手類中,我必須訪問核心數據才能執行驗證(獲取請求)。 如何在主隊列中執行核心數據提取並將值傳遞給連接隊列?CocoaAsyncSocket和coredata的線程問題
的代碼是:
-(void)getIsFavourite {
//Execute the following codes in Main thread
id <CHFavouriteUserDao>dao =[CHServiceRepository findService:@protocol(CHFavouriteUserDao)];
//findFavouriteUserByName will execute a fetch request and return a NSManagedObject
FavouriteUser *user = [dao findFavouriteUserByName:self.uniqueIdentifier];
//Switch back to the background queue
if (user!= nil) {
[self setIsFavourite:YES];
}
- 我已經嘗試了
performSelectorOnMainThread:withObject:waitUntilDone:YES
。但它會將套接字執行移到主隊列並凍結應用程序。 - 我試圖dispatch_async與
dispatch_get_main_queue()
,但問題是我怎麼能訪問套接字連接運行(dispatch_get_current_queue
被淘汰,後臺排隊。
謝謝。我會嘗試 –