Да, это утечка. Ваше решение верное, или вы можете сделать:
view = [[UIView alloc] initWithFrame:frame];
Где view - это переменная экземпляра. Но это не такая хорошая практика. Как указано ниже, в представлении UIViewController
это свойство суперкласса, поэтому мой пример кода вдвойне неверен Однако стоит отметить, что принцип self.variable
вызывает setVariable:
и будет соблюдать стиль сохранения объявления свойства. В таких случаях вы можете напрямую назначить указанную выше переменную экземпляра, которая пропускает сохранение - и делает такой код ужасным для поддержки, что объясняет, почему свойство синтаксического сахара Apple Objective C 2.0 не вызывает всеобщего восхищения.
Исправлено, потому что Георг был совершенно прав.