Недавно я исправлял код. Был большой класс, который бы не освободил. Вам нужно будет ударить его 5 или 6 релизами, чтобы получить его dealloc.
Я внимательно просмотрел большой класс и в конце концов нашел различные вещи, которые нужно было освободить.
Это заставило меня подумать: просто должен быть какой-то действительно простой способ "найти" все сохраненные объекты на объекте. Я прав?
Итак, есть ли простой способ найти все сохраненные объекты на объекте? Есть ли кнопка в XCode или инструментах, о которых все знают?
Что вы делаете, когда не можете найти такую тайну?
Итак, в юниверсе iOS, если кто-нибудь знает "Показывать, где все сохраненные данные появились на этом объекте" - спасибо!
P.S. Обратите внимание, что утечки нет, и этот вопрос полностью не связан с утечками. Объект просто "совершенно правильно" не будет выпускаться.
Позже..
Поистине поразительное решение от Fabio:
Фабио предоставил удивительное решение этой проблемы. В девяти словах, вот он:
-(id)retain
{
NSLog(@"%@", [NSThread callStackSymbols]);
return ([super retain]);
}
Это удивительно полезно во многих ситуациях и приводит ко многим другим полезным вещам. Вероятно, вы сохранили мне две человеко-недели работы в год, Фабио. Спасибо!
Кстати, если вы просто справляетесь с этим и боретесь с выходом, я видел, что обычно будет много фрагментов с участием "UINib instantiateWithOwner:". Похоже, что они придут на первое место, за ними последуют значительные куски.