Я использовал ivars для своих «частных» IBOutlets и столкнулся с проблемами утечки памяти.Я думаю, это потому, что мой IBOutlets использовал атрибут __unsafe_unretained
вместо __weak
.Я не могу использовать __weak
, потому что он не поддерживается в iOS 4 (я хочу, чтобы мое приложение было обратно совместимо с iOS 4).Трудно понять, что на самом деле происходит с ARC, IBOutlets, viewDidUnload и всем этим беспорядком.Вздох ...
В любом случае, когда я изменил свой IBOutlets с ivars на свойства, проблемы утечки памяти исчезли.
Итак, чтобы ответить на мой собственный вопрос, один недостаток использования ivars для IBOutletsв том, что вы можете столкнуться с утечками памяти, если у вас есть атрибут __unsafe_unretained
.