Как лучше всего запускать код в отдельном потоке? Это:
[NSThread detachNewThreadSelector: @selector(doStuff) toTarget:self withObject:NULL];
Или:
NSOperationQueue *queue = [NSOperationQueue new];
NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self
selector:@selector(doStuff:)
object:nil;
[queue addOperation:operation];
[operation release];
[queue release];
Я делал второй способ, но в Поваренной книге Уэсли, которую я читал, используется первый.
iphone
multithreading
ios
thread-safety
Майк С
источник
источник
Лучший способ многопоточности в iOS - использовать GCD (Grand Central Dispatch).
источник
Я бы попробовал все методы, опубликованные людьми, и посмотрел, какая из них самая быстрая, но я думаю, что это лучший способ сделать это.
источник
Я добавил категорию в NSThread, которая позволит вам легко выполнять потоки в блоках. Вы можете скопировать код отсюда.
https://medium.com/@umairhassanbaig/ios-how-to-perform-a-background-thread-and-main-thread-with-ease-11f5138ba380
источник