可可触摸:在继续之前等待方法完成

Posted

技术标签:

【中文标题】可可触摸:在继续之前等待方法完成【英文标题】:cocoa touch: Waiting for a method to finish before continuing 【发布时间】:2012-07-23 20:35:24 【问题描述】:

所以我有一个 UIButton 的 onclick 事件需要执行一些代码,但它可以随时按下,所以有可能在另一个方法仍在运行时按下它。有没有办法阻止点击事件,直到特定方法完成?

【问题讨论】:

您究竟为什么需要这样做?邮政编码和问题描述。 在对您的项目了解不多的情况下,您会想到几种方法。您可以在启动其他方法时禁用该按钮。或者,也许可以将变量用作标志来指示运行该方法是否安全。其他方法会在开始和结束时设置值。 我无法发布代码,因为它包含公司敏感材料,但本质上,我正在以一种“校准”模式处理来自前置摄像头的视频输入,并且有一个按钮用户可以按下停止校准的屏幕,但如果处理视频馈送的方法没有完成,那么屏幕上的某些 UI 元素将具有不正确的值。所以基本上,当用户单击按钮时,我想等到另一个方法完成,然后再继续 onClick 方法的其余部分中的代码 【参考方案1】:

有没有办法阻止点击事件,直到特定方法完成?

除非“特定方法”在另一个线程上运行,否则这已经发生了。当其他代码在主线程上运行时,运行循环无法处理输入事件。

【讨论】:

以上是关于可可触摸:在继续之前等待方法完成的主要内容,如果未能解决你的问题,请参考以下文章

如何在可可触摸中切换视图?

可可触摸:如何找出被触摸的对象

带有可可触摸的 Objective-C 中的表存储

可可触摸框架资产在 App Project 中不可见

在可可触摸框架中隐藏实现

在多个应用程序中使用可可触摸框架项目