2010-03-03 14 views
1

我有一個問題,看起來像一個webview回調和位置管理器回調與相同的變量和警報對話框交互的條件 - 該對話框是在位置回調中創建的,應該在webview回調中解除。我認爲像webview和核心位置這樣的標準對象的委託回調將在主線程中運行 - 是不正確的?iphone委託方法運行的webview和核心位置回調是什麼線程?

+0

你用什麼方法? – conorgriffin 2010-03-03 23:10:32

回答

1

如果有疑問,那麼你可以做這樣的事情:

- (void) someCallback 
{ 
    if ([NSThread isMainThread] == NO) { 
     [self performSelectorOnMainThread: @selector(someCallback)]; 
    } 
} 

爲了確保您始終運行在主線程回調方法,從而防止併發問題。

當然,您也可以使用@synchronized塊,但根據我的經驗,依賴主線程執行方法的同步特性要好得多。

+0

好的提示。謝謝。 (並且它們在主線程中運行)。 – Wendy 2010-03-04 02:59:37

相關問題