2010-02-25 100 views
1

我正在使用框架從網絡獲取信息。問題是我用來獲取信息的線程函數(即它通過didFinish選擇器提供信息,而不是實際函數作爲返回值)。NSThread調用線程委託功能

我想創建一個單獨的使用這個線程函數的NSThread。問題是如果我分離一個線程,它不會等待這個線程函數的信息(並且它不知道信息何時被髮回)。

有沒有辦法解決這種情況?簡而言之,我想將異步函數轉換爲同步函數。

回答

2

你想在NSRunLoop念起來的Threading Programming Guide

我認爲基本的方法將是這樣的:

  • 在您的分離線程主體
    • 自己設定作爲運行環境的自定義輸入源,當您的狀態未完成時,運行runloop
  • didFinish:
    • 集中的一些狀態,說大功告成
    • 告訴輸入源(自己)發射
的runloop