остановить бегущий метод - PullRequest
       2

остановить бегущий метод

0 голосов
/ 24 сентября 2010

Я хочу на короткое время остановить запущенный метод. Могу ли я сделать это без использования какого-либо потока?

Ответы [ 3 ]

2 голосов
/ 24 сентября 2010

Разделите метод на myMethodPartA и myMethodPartB.Затем, в конце myMethodPartA, используйте строку:

[self performSelector: @selector(myMethodPartB) withObject: yourArgument afterDelay: someNSTimeInterval]

Если вам нужно передать пакет информации от myMethodPartA до myMethodPartB, вы можете объединить всю эту информацию вNSArray, который вы передаете в качестве аргумента myMethodPartB.

0 голосов
/ 24 сентября 2010

Вы всегда можете использовать функции sleep() или usleep(). В NSThread также могут быть удобные методы, в зависимости от того, что именно вы используете (в любом случае вы часто работаете с одним потоком).

0 голосов
/ 24 сентября 2010

Использовать 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"); }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...