Я не уверен, что это возможно. Кроме того, я не уверен, что это хорошая идея.
Во-первых, почему это невозможно: ключевое слово IBOutlet
предназначено исключительно для Интерфейсного Разработчика. IB сканирует исходный код (или некоторую внутреннюю индексацию исходного кода в XCode), чтобы определить IBOutlets, доступные в классе. Я не верю, что в скомпилированном коде есть различие между IBOutlet и обычным свойством. Таким образом, даже если вы найдете список атрибутов или свойств, вы не сможете различить их для -[UIView viewDidUnload]
в отличие от dealloc
.
Во-вторых, почему это не очень хорошая идея. Управление памятью является сложным в Objective-C. Инструменты в инструментах также могут помочь определить, где выделяется избыточная память, а статический анализатор Clang (Cmd-Shift-A в XCode) может помочь вам обнаружить потенциальные утечки памяти из невыпущенных или неправильно сохраненных объектов. Любая система автоматизации выпуска на основе интроспекции наверняка запутает статический анализатор, не говоря уже о других разработчиках в вашей команде.
Это благородное усилие, чтобы попытаться автоматизировать такую подверженную ошибкам задачу, как управление памятью, но я думаю, что вам может быть лучше придерживаться существующих инструментов и подождать, пока сборщик мусора найдет свой путь к iPhone. 1010 *