是否有可能做到这样的事情?1秒钟:客观c编码帮助
if (myVariable == 100 for more than 1 second) {
}
因此,如果myVariable等于100超过1秒,请执行一些操作。
谢谢! Elijah
是否有可能做到这样的事情?1秒钟:客观c编码帮助
if (myVariable == 100 for more than 1 second) {
}
因此,如果myVariable等于100超过1秒,请执行一些操作。
谢谢! Elijah
您可以从if()语句的主体中启动NSTimer,该语句具有1秒的计时器。所以像
if(myVariable >= 100 && myTimer == nil){
//NSTimer code here
}else if(myVariable < 100 && myTimer !=nil){
//Invalidate timer
//Set myTimer to nil
}
如果你得到计时器来调用一个方法,然后做你想要的。
这应该工作,但我不禁觉得有一个更好的解决方案,您尝试解决的实际问题。
我想这样的事情是不可能的。不同的方法可能会解决这个问题即每次有人改变myVariable时,您可以留下某种时间戳,然后看看自上次更改以来已经过了多少时间。
您可以存储将myVariable设置为新值的时间(如果您在这个地方使用setter方法,那么很容易)。然后启动一秒钟后触发的计时器,并检查您是否在此期间未更改该值。
尽管这是一种不寻常的模式,并且可能有更好的方法来完成您的尝试。
有什么其他方法可以做到这一点? – objectiveccoder001 2010-07-04 18:43:06
我会说,你似乎采取了错误的方法来解决问题。这段代码的上下文是什么?你为什么想要做这样的事情?也许我们可以找出另一种方法。 – 2010-07-04 13:47:02
嗯,我正在做一个语音识别引擎,以便当你停止说话时(声音低于一定水平),它从文本字段(按回车键)发送命令。作为故障安全(几乎...),我只想在完全确定讲话者已停止讲话时发送命令。有任何想法吗?? – objectiveccoder001 2010-07-04 18:36:44