Я хочу иметь возможность вызывать метод объекта в новом потоке; но я запутался в том, как управлять счетами удержания (или даже если это проблема).
В не поточном сценарии я бы сделал это:
MyObject *newObject = [[MyObject alloc] init];
[newObject doSomething];
[newObject release];
В этом сценарии все хорошо. Тем не менее, мой вопрос заключается в том, является ли следующая версия с резьбой является проблемой:
MyObject *newObject = [[MyObject alloc] init];
[NSThread detachNewThreadSelector:@selector(doSomething)
toTarget:newObject
withObject:nil];
[newObject release];
В этом случае, стоит ли мне беспокоиться о том, что newObject
будет выпущено во время обработки -doSomething
? Если ответ да, то кажется, что -doSomething
сохранить self
.
кажется грязным
Это проблема? И если да, то каково правильное решение?