Насколько я понимаю ваш сценарий (но, возможно, вам следует включить некоторый код), оператор:
[self performSelectorOnMainThread:...]
должен быть последним, который будет выполнен в вашем потоке (так как это способвернуть результат вашего потока, он все еще является частью селектора потока, переданного в NSThread
).
Если это так, то при первом отсоединении NSThread
вы передаете емуtarget
объект (ваш self
) и NSThread
будут retain
, пока переданный selector
не завершен.Это будет включать ваш [self performSelectorOnMainThread:...]
, поэтому, если кто-то не сильно помешается на releases
, не должно быть никаких шансов для освобождения self
до выполнения [self performSelectorOnMainThread:...]
.
Если ваш вопрос был именнопроизойдет, если кто-то испортит releases
, я подумаю об этом еще раз.