iphone - 在 Objective C 中控制多线程

标签 iphone objective-c ios multithreading ios5

我是 iPhone 应用程序开发的新手,我在线程控制方面遇到了问题。

我设置了两个线程:

  • 第一个在指定的时间间隔后更新标签 (LABEL1) [它工作正常]
  • 另一个执行相同的操作 [更新另一个 LABEL(LABEL2)] 并通过按钮按下事件(控制)启动和停止:

    • 第一次按下按钮启动线程并使 LABEL2 可见
    • 第 2 次按下停止执行并使相应的 LABEL2 不可见......并且这种方式受到控制..

按钮有一个 TUCHUPINSIDE 事件,我正在使用 iPhone 模拟器。

正常(缓慢)按下按钮时它工作正常,但是当双击或连续单击按钮并且它的执行状态到来时 - 然后相应的 LABEL2 更新速度快于它的间隔。

为什么会这样?

最佳答案

首先,不要在主线程以外的任何线程上更新任何 UI,否则您会得到意想不到的结果。

你为什么要在另一个线程上做这个?你只是在做实验吗?

此外,我不建议使用 NSThread(Apple 也不建议)。您可以在 Objective-C 中使用更多更高级别的并发 API,例如 NSOperations、GCD...。

关于iphone - 在 Objective C 中控制多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9806162/

相关文章:

ios - 如何增加Xcode中导航栏的高度?

iphone - 手机间隙 : get the filesize of captured audio file

java - iOS 中的事件总线等效项

ios - 如何将对象添加到数组?

ios - 检索 iOS 项目中的分支名称

ios - 将添加了 subview 的 UIView 制作成单个图像?

iphone - 在 xcode 4.2 中完成调试

iphone - json 对象 UITableView

ios - hpple无法解析HTML

ios - 将数据从另一个 UITableView 传递到 UITableViewCell 中的文本字段(不使用 Segue)