2011-08-09 44 views
1

我有一個實現MKReverseGeocoder的對象。我在單獨的線程中運行它,它是它自己的委託。然而,它的'didFailWithError'和'didFindPlacemark'方法沒有被調用。如果我在線程之外得到它,那麼一切都按預期工作。MKReverseGeocoder裏面的NSThread

+0

在我的其他問題找到了解決這個問題的解決方案:http://stackoverflow.com/questions/6993924/delegate-callback-from-other-nsthread – Misha

回答

3

我相信MKReverseGeocoder要求run loop正確運行。如果您使用NSThread,則必須手動運行運行循環。

+0

謝謝。在我通過鏈接之前,你能給我一個簡短的例子嗎? – Misha

+0

這可能與啓動geocoder後調用'[[NSRunLoop mainRunLoop] run]'一樣簡單。您可能還需要使用'-runUntilDate:'。 [這個問題](http://stackoverflow.com/questions/149646/best-way-to-make-nsrunloop-wait-for-a-flag-to-be-set)也有一些很好的信息。 – jtbandes