【问题标题】:Using NSInvocationOperation to send messages back to the main thread?使用 NSInvocationOperation 将消息发送回主线程?
【发布时间】:2010-11-18 11:42:42
【问题描述】:

我会给你一个快速的场景,这样我的问题就更有意义了。

假设我使用 NSInvocationOperation 创建一个新线程,它将在后台无限期运行。

现在,这个线程会不时地向主线程发送消息。

那么,我的问题是,将这些消息发送回主线程的最佳方式是什么?我可以只使用单例来管理来自子线程的消息吗?或者有没有更好的方法。

我知道在 Java 中我可以只使用 Handler 将消息发布回主线程,并且它们按照发布的顺序到达。而且我知道这不是 Java,但我只是想给你一个例子。

【问题讨论】:

    标签: iphone objective-c multithreading


    【解决方案1】:

    你想要performSelectorOnMainThread:withObject:waitUntilDone:Documentation here

    【讨论】:

      【解决方案2】:

      我自己想通了——这篇文章非常有用:

      http://www.switchonthecode.com/tutorials/loading-images-asynchronously-on-iphone-using-nsinvocationoperation

      还要感谢 marko - 读得很好 (+1)。

      【讨论】:

        【解决方案3】:

        使用委托。您有 Objective-C 示例 here

        【讨论】:

        • 谢谢,读得很好。那么,这是子线程和主线程之间沟通的最佳方式吗?这是线程安全的吗?
        • -1 委托与在不同线程上执行选择器无关。
        猜你喜欢
        • 1970-01-01
        • 2011-02-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多