我想停止当前正在运行的方法一段时间.. 我可以不使用任何线程吗?
答案 0 :(得分:2)
将方法拆分为myMethodPartA
和myMethodPartB
。然后,在myMethodPartA
的末尾,使用以下行:
[self performSelector: @selector(myMethodPartB) withObject: yourArgument afterDelay: someNSTimeInterval]
如果您需要将大量信息从myMethodPartA
传递到myMethodPartB
,您可以将所有这些信息捆绑到NSArray中,并将其作为参数传递给myMethodPartB
。
答案 1 :(得分:0)
使用NSTimer:
- (void)doThing
{
[self doFirstPart];
[NSTimer scheduledTimerWithTimeInterval:2.0
target:self
selector:@selector(doSecondPart)
userInfo:nil
repeats:NO];
}
- (void)doFirstPart { printf("Hello, "); }
- (void)doSecondPart { printf(" world!\n"); }
答案 2 :(得分:0)
您始终可以使用sleep()
或usleep()
功能。 NSThread
上可能还有方便的方法,具体取决于您使用的方法(您经常在一个线程上工作)。