【问题标题】:Is Objective-C Delegation Really Multithreaded?Objective-C 委托真的是多线程的吗?
【发布时间】:2011-08-27 10:04:30
【问题描述】:

我的问题非常直截了当:iOS 中的委托设计模式真的是多线程的吗?意思是有实际的并行执行,还是仍然在主线程上运行?

【问题讨论】:

    标签: objective-c ios multithreading delegates


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 你是对的,但这种混淆是可以理解的。最常用的类/委托协议对之一,NSURLConnection,创建第二个线程来完成它的工作并在主线程上回调它的委托。
      猜你喜欢
      • 1970-01-01
      • 2010-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多