Создание соединений в именах префиксов Xcode 4 с _
При создании нового выхода в Xcode 4 он вводит необходимый код, как обычно, но он префикс _ в интерфейсе файла заголовка (но не в свойствах):
UINavigationController *_mainNavController;
UIViewController *_rootView;
это также делается в файле реализации:
@synthesize mainNavController = _mainNavController;
@synthesize rootView = _rootView;
Хотя я, конечно, могу использовать их с префиксом _, это просто запутывает мой код. Я делаю что-то ужасно неправильно?
Спасибо заранее.
1 ответ
Конечно, я могу использовать их с префиксом _.
Почему бы вам не использовать свои свойства (например, self.mainNavController
) вместо бекапных иваров напрямую?
Прочитайте, что Apple говорит об использовании методов доступа:
Иногда это может показаться утомительным или педантичным, но если вы постоянно используете методы доступа, шансы на проблемы с управлением памятью значительно уменьшаются. Если вы используете retain и release для переменных экземпляра в вашем коде, вы почти наверняка делаете неправильные вещи.
Свойства инкапсулируют код управления памятью и таким образом уменьшают шаблон.
Единственные места, где вы не должны использовать методы доступа для установки переменной экземпляра, находятся в
init
методы иdealloc
,
Кроме того, соглашение о префиксе бэк-ивар с _
не позволяет вам получить доступ к вспомогательным иварам напрямую по ошибке (и, например, не удержать объект).