max*_*ax_ 2 iphone xcode objective-c nsstring ios4
我正在尝试执行一个在后台线程中返回NSString的选择器,返回的NSString将取决于输入对象albumlink.
我在后台执行它,因为缩短URL需要一段时间.
如果你能告诉我如何获得返回字符串,我将非常感激.
我执行该选择器的代码是:
[self performSelectorInBackground:@selector(shortenURL:) withObject:albumlink];
Run Code Online (Sandbox Code Playgroud)
Dan*_*Ray 12
您可以在类中编写另一种方法(让我们调用它-handleResponse:(NSString *)response
),然后从后台进程中调用:
[self performSelectorOnMainThread:@selector(handleResponse:) withObject:@"My response string" waitUntilDone:NO];
Run Code Online (Sandbox Code Playgroud)
你不能在它运行的线程之外获得函数的返回值.在后台线程中做某事的重点是它从主线程的正常流程中取出,所以它没有地方可以返回..最明智的方法是创建一个在后台执行的块(通过NSOperation或GCD直接执行),更新或者更新主线程上的值 - 如果你需要在之后存储值 - 或者只是做任何你做的事情如果它只在一个代码分支中使用,那么它将用于处理该值.
归档时间: |
|
查看次数: |
13420 次 |
最近记录: |