Есть ли способ «найти тайну»…?

Недавно чинил чей-то код. Был большой класс, который не сдавался. Вам нужно было выпустить 5 или 6 релизов, чтобы освободить его.

Я внимательно просмотрел большой класс и в конце концов нашел различные вещи, которые нужно было выпустить.

Это заставило меня задуматься: просто должен быть какой-то действительно простой способ «найти» все удержания на объекте .. я прав?

Итак, есть ли простой способ «найти все удержания» на объекте? Есть ли в XCode или инструментах кнопка, о которой все знают?

Что вы делаете, если не можете найти такую ​​тайну?

Итак, во вселенной iOS, если кто-нибудь знает » Показать, откуда поступили все остатки на этом объекте " кнопка - спасибо!

PS Обратите внимание, что утечки нет, и этот вопрос совершенно не связан с утечками. Объект просто «идеально правильно» не выпустит.


Позже ..

Поистине поразительное решение Фабио:

Фабио предоставил поразительное решение этой проблемы. В девяти словах вот оно:

-(id)retain
    {
    NSLog(@"%@", [NSThread callStackSymbols]);
    return ([super retain]);
    }

Это удивительно полезно во многих ситуациях и ведет ко многим другим полезным вещам. Ты, наверное, навсегда сэкономил мне две человеко-недели работы в год, Фабио. Спасибо!

Кстати, если вы только начинаете разбираться в этом и боретесь с выводом, я заметил, что обычно будет много фрагментов с "UINib instantiateWithOwner:". Похоже, что они появятся первыми, затем последуют значительные фрагменты.

34
задан Fattie 13 April 2011 в 19:45
поделиться