Это уже ответ на вопрос в SO, но Я не могу найти его в документации Apple где-нибудь. Не могли бы вы указать мне в правильном направлении?performSelector: withObject: и его поведение сохранения
В следующих разделах
Do I have to retain an object before passing it to -performSelector:withObject:afterDelay:?
the effect on retain count of performSelector:withObject:afterDelay:inModes
Is object that calls performSelector:withObject:afterDelay get retained by the NSRunLoop?
поведение по умолчанию, как представляется, следующим образом: сохраняет приемник и аргумент (ы).
Я использую следующий код
[[self delegate] performSelector:@selector(tryToSendStoreData:) withObject:userData];
где userData
является autoreleased роекта.
Ведение журнала учета (Я знаю, что это может быть недействительно для этого), данные передаются с увеличением его количества удержания. Когда метод вызывается у делегата, счетчик удержания не равен единице.
Итак, мой вопрос: мне нужно выполнить некоторое управление памятью, чтобы избежать утечек или мне нужно доверять материалам Apple? Здесь я говорю как агностик, так как я не могу найти нужные документы.
Заранее спасибо.
Я считаю, что значение сохранения больше не является точным при ARC – Dustin
@Cake Я не использую ARC в этом проекте. Благодарю. –
Для проекта с поддержкой ARC вы можете посмотреть - http://stackoverflow.com/questions/7017281/performselector-may-cause-a-leak-because-its-selector-is-unknown – rishi