gpt4 book ai didi

iphone - iPhone多线程

转载 作者:行者123 更新时间:2023-12-03 13:16:23 25 4
gpt4 key购买 nike

iPhone开发:

我希望有一个无限循环不断检查NSMutableArray,如果[size> 0]拉第一个对象,对其进行处理,将其删除,等待.25秒,然后继续检查。

我希望我的GUI按钮添加此列表。有没有办法做到这一点?有没有办法通过在主线程中进行循环来做到这一点?

更新
我想我没有正确地问过这个问题。我正在使用AsyncSocket类发送telnet命令。我需要快速发送它们,因为它们曾经用于控制RC汽车,但是RC接收器有点慢。因此,我想降低iPhone发送命令的速度。现在我有按钮事件发送命令,但我想让事件将命令添加到列表/队列/数组。在与按钮单击并列的同时,我希望进程每隔.25秒检查一次队列并发送队列中的命令。

我的问题:

AsyncSocket不是线程安全的,所以我不能再有其他线程发送命令。文档阅读

If you find yourself on a thread which is different from the thread on which AsyncSocket is running, and you need to invoke a method on AsyncSocket, then you must use a method like performSelector:onThread: to ensure the method is invoked on AsyncSocket's thread (and thereby maintaining thread-safety)."



我不知道这意味着什么...
  • 上面的引用是什么意思?
  • 我想做什么需要多线程处理?
  • 最佳答案

    我建议研究Key Value Observing。这将允许您设置一个观察类,以便在向数组中输入条目时得到通知。

    它会比您将找到的标准教程难一些,最简单的是观察正在更新的属性。将元素添加到数组时,需要使用-willChange:valuesAtIndexes:forKey:-didChange:valuesAtIndexes:forKey:。如果您只需要听添加的项目,就足够了。但是,您可以查看ObservingOptions来真正获得更好的控制。

    在此处查看有关NSKeyValueObserving的更多信息:http://developer.apple.com/library/ios/#documentation/cocoa/Reference/Foundation/Protocols/NSKeyValueObserving_Protocol/Reference/Reference.html#//apple_ref/occ/cat/NSKeyValueObserving

    这种方法将使您不浪费任何周期来轮询更改。

    关于iphone - iPhone多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5479004/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com