1秒钟:目标c编码帮助

时间:2010-07-04 13:44:29

标签: objective-c xcode variables if-statement

是否可以做这样的事情?

if (myVariable == 100 for more than 1 second) {
}

因此,如果myVariable等于100超过1秒做某事。

谢谢! 利亚

3 个答案:

答案 0 :(得分:2)

您可以存储将myVariable设置为新值的时间(如果您在整个地方使用setter方法,则很容易)。然后启动一个在一秒钟后触发的计时器,并检查您是否在此期间没有更改该值。

这是一种不寻常的模式,并且可能有更好的方法来完成你想要完成的任务。

答案 1 :(得分:1)

我想这样的事情是不可能的。不同的方法可能解决这个问题。也就是说,每当有人更改myVariable时你就可以留下某种时间戳,然后看看自上次更改以来已经过了多少时间。

答案 2 :(得分:0)

您可以在if()语句的主体内启动NSTimer,该语句的计时器为1秒。像

这样的东西
if(myVariable >= 100 && myTimer == nil){
    //NSTimer code here
}else if(myVariable < 100 && myTimer !=nil){
    //Invalidate timer
    //Set myTimer to nil
}

如果你让计时器调用一个方法然后做你想要的。

这应该有效,但我不禁觉得有一个更好的解决方案可以解决你试图解决的实际问题。