是否有可能做到這樣的事情?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