NSThread调用线程委托函数

时间:2010-02-25 09:03:52

标签: objective-c cocoa-touch

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

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

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

1 个答案:

答案 0 :(得分:2)

您需要阅读NSRunLoopThreading Programming Guide

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

  • 在你的分离线主体中
    • 将自己设置为runloop的自定义输入源
    • 当你的状态没有完成时,运行runloop
  • didFinish:
    • 设置一些说你已经完成的状态
    • 告诉runloop输入源(你自己)解雇了