停止正在运行的方法

时间:2010-09-24 08:38:21

标签: objective-c

我想停止当前正在运行的方法一段时间.. 我可以不使用任何线程吗?

3 个答案:

答案 0 :(得分:2)

将方法拆分为myMethodPartAmyMethodPartB。然后,在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上可能还有方便的方法,具体取决于您使用的方法(您经常在一个线程上工作)。