2010-02-25 140 views
1

我正在使用框架从网络获取信息。问题是我用来获取信息的线程函数(即它通过didFinish选择器提供信息,而不是实际函数作为返回值)。NSThread调用线程委托功能

我想创建一个单独的使用这个线程函数的NSThread。问题是如果我分离一个线程,它不会等待这个线程函数的信息(并且它不知道信息何时被发回)。

有没有办法解决这种情况?简而言之,我想将异步函数转换为同步函数。

回答

2

你想在NSRunLoop念起来的Threading Programming Guide

我认为基本的方法将是这样的:

  • 在您的分离线程主体
    • 自己设定作为运行环境的自定义输入源,当您的状态未完成时,运行runloop
  • didFinish:
    • 集中的一些状态,说大功告成
    • 告诉输入源(自己)发射
的runloop