2010-11-09 30 views
2

过去几周我一直在玩Objective-C,并有一个工作应用程序执行异步HTTP请求以从Twitter中获取一些数据。Objective-C的异步请求模型如何工作?

我来自一个web应用程序背景,已经成为Javascript如何处理回调的一种方式,通过传递一个在XHR请求完成加载时调用的函数。因此,我发现Objective-C使用委托对象处理异步请求的模型以及perfomSelector方法非常酷。

[callbackObj performSelector:@selector(callbackMethod:) withObject:argObj]; 

所以我的问题是,什么是Objective-C的异步模型的设计,它是如何工作的?

+2

您提供的示例不是异步的。 -performSelector:withObject:立即在接收器上执行选择器。我误解了你的观点吗? – 2010-11-09 15:48:20

+0

我给出的例子只是显示了回调是如何执行的 - 这是整个问题的一个要素。 – linusthe3rd 2010-11-09 18:20:53

回答

1

所有“Cocoa Classic”的异步行为都是在NSRunLoop之上执行的。 Cocoa的许多最新增加和更新正在转向Grand Central Dispatch