我有一個IPhone應用程序,它使用web服務從服務器獲取數據。我將每個調用放到一個NSOperation子類的webservice中,以便它可以被線程化。我的問題是,推薦的方式是從已完成的NSOperation子類中傳回信息。我目前正在發送一個NSNotification到我的main方法的末尾,任何等待NSOperation完成的代碼都會訂閱這個通知。然後我將使用NSNotificationWithName的Object對象部分:Object:從操作中傳回信息。可可 - 從NSOperation返回信息
我不知道是否有更好的方法來做到這一點。我聽說過Key Value Coding,然後我可以使用Key Value Observing來檢測操作的isFinished屬性何時更改,但我不確定最佳實踐是什麼。
我也想確保我的應用程序是線程安全的,這是我認爲不會是一個問題,只要我通知在main方法結束這樣的通知的對象將送出不再在線程中使用,因爲它會結束。
最後,我打電話通知如下所示:
[[NSNotificationCenter defaultCenter] performSelectorOnMainThread:@selector(postNotification:) withObject:[NSNotification notificationWithName:@"notificationName" object:dataObject] waitUntilDone:NO];
該文檔是您可能會喜歡它。 –
frank
2015-04-08 09:51:24