Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective-C委托真的是多线程的吗?_Objective C_Ios_Multithreading_Delegates - Fatal编程技术网

Objective-C委托真的是多线程的吗?

Objective-C委托真的是多线程的吗?,objective-c,ios,multithreading,delegates,Objective C,Ios,Multithreading,Delegates,我的问题很直截了当:iOS中的委托设计模式真的是多线程的吗?这意味着实际的并行执行正在进行还是仍在主线程上运行?这取决于您是否在不同的线程上调用委托方法。通常,在某个事件之后,在同一线程上调用委托方法。简而言之,线程与委托无关,根据我的经验,苹果总是将委托回调方法发布到主线程(不过,您可以选择不发布,但如果这样做,事情会变得很糟糕)。委托与线程无关。委托是指允许一个对象代表另一个对象做出决定。这通常是以单线程的方式完成的,因为每次您想向代理询问某件事时生成一个线程几乎没有什么好处,这会使设计变得

我的问题很直截了当:iOS中的委托设计模式真的是多线程的吗?这意味着实际的并行执行正在进行还是仍在主线程上运行?

这取决于您是否在不同的线程上调用委托方法。通常,在某个事件之后,在同一线程上调用委托方法。简而言之,线程与委托无关,根据我的经验,苹果总是将委托回调方法发布到主线程(不过,您可以选择不发布,但如果这样做,事情会变得很糟糕)。

委托与线程无关。委托是指允许一个对象代表另一个对象做出决定。这通常是以单线程的方式完成的,因为每次您想向代理询问某件事时生成一个线程几乎没有什么好处,这会使设计变得相当复杂。

您是对的,但这种混乱是可以理解的。最常用的类/委托协议对之一,
NSURLConnection
,创建第二个线程来执行其工作,并在主线程上回调其委托。