新手 obj-c 问题。我正在为 Appstore 编写一个简单的 iPad 演示文稿。我的任务是实现几个方法一个接一个地执行,它们之间几乎没有停顿。主要结构如下所示:
- 查看负载
- 暂停两秒,然后执行method1
- 暂停两秒,然后执行method2
- 暂停两秒,然后执行 method3 等...
我从 -viewDidLoad 调用的第一种方法:
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(firstCountStarts) userInfo:nil repeats:NO];
这里一切正常,方法在视图加载后 2 秒开始。从method1内部,我尝试以相同的方式调用方法2,但它开始与method1同时执行。同样的方式触发了method3(从method2调用)和它们之后的所有方法都没有执行。我试图将所有这些方法放在 -ViewDidLoad 中并延迟调用它们:
[self method1];
[self performSelector:@selector(method2) withObject:nil afterDelay:2];
[self performSelector:@selector(method3) withObject:nil afterDelay:4];
etc...
但是在method2调用所有方法之后没有执行。如果我正确理解线程中的问题。我需要使用 GCD 来执行不同队列中的方法吗?或者可能在其他方面有问题?
谢谢各位同事!