非常初学者obj-c问题。顺序方法执行obj-c
我的任务是做简单的序列时,查看负载:
- 暂停2个secons
- 方法1执行
- 暂停2s中
- 方法2.执行
- 暂停2s中
- 方法3执行
我为iOS5 +编写此代码,以便可以使用块或其他功能。我试图
[NSThread sleepForTimeInterval:x];
,使方法执行之间的停顿,但三个暂停添加到一个和我有一个很大的停顿,这是错的一块。 如何以正确的方式做到这一点?
非常初学者obj-c问题。顺序方法执行obj-c
我的任务是做简单的序列时,查看负载:
我为iOS5 +编写此代码,以便可以使用块或其他功能。我试图
[NSThread sleepForTimeInterval:x];
,使方法执行之间的停顿,但三个暂停添加到一个和我有一个很大的停顿,这是错的一块。 如何以正确的方式做到这一点?
睡NSThread永远不是正确的方式来处理定时执行方法。您需要NSTimer,您可以设置为在两秒钟后触发相同的方法(然后让该方法确定下一个要执行的选择器)还是将三个定时器设置为在彼此之后触发两秒钟,每个调用另一种方法。
您可以使用performSelector:withObject:afterDelay:或CodaFi所说的NSTimer。两种方法都允许将对象传递给方法,如果需要传递多个参数,则该对象可以是数组或字典。
我倒是链的方法:
虽然有些脆弱,如果他需要使用他们的东西,他们并不相互依赖。 –
好吧,他可以有一个属性'nextMethod'包含逻辑。 –
够公平的,但是你必须有一个状态来跟踪你正在使用哪一个状态。那么当他自己发起这个,然后用户在这些定时器触发的时候启动它会发生什么?然后你有一种情况,你的计数器计算你所使用的方法太多了,并且你不同步,所以你需要有一个队列来保存这一系列方法的所有调用,直到每个3-方法链已经完成等等等等等等等等。尽管我们不知道这些方法是什么,所有的猜测都让我留下来 –