0

非常初学者的 obj-c 问题。

我的任务是在视图加载时执行简单的序列:

  • 暂停 2 秒
  • 方法1执行
  • 暂停 2 秒
  • 方法2执行
  • 暂停 2 秒
  • 方法3执行

我为 iOS5+ 编写此代码,因此可以使用块或其他功能。我试过

[NSThread sleepForTimeInterval:x];

在方法执行之间进行暂停,但是三个暂停加到一个,我有一个很大的暂停,所以这是错误的部分。如何以正确的方式做到这一点?

4

3 回答 3

3

休眠 NSThread 绝不是处理定时方法执行的正确方法。您想要NSTimer,您可以将其设置为在两秒后触发相同的方法(然后让该方法确定接下来要执行哪个选择器),或者将三个计时器设置为在彼此之后触发两秒,每个计时器调用不同的方法。

于 2012-11-10T16:06:30.670 回答
3

你可以使用 performSelector:withObject:afterDelay:,或者像 CodaFi 所说的,一个 NSTimer。任何一种方法都允许将对象传递给方法,如果您需要传递多个参数,该对象可以是数组或字典。

于 2012-11-10T16:17:17.963 回答
1

我会链接这些方法:

  • 调用 1. 方法并使其调用 2。
    1. 方法应该调用 3。
    1. 应该继续 4. ...
于 2012-11-10T20:15:55.327 回答