Создание соединений в именах префиксов Xcode 4 с _

При создании нового выхода в Xcode 4 он вводит необходимый код, как обычно, но он префикс _ в интерфейсе файла заголовка (но не в свойствах):

UINavigationController *_mainNavController;
UIViewController *_rootView;

это также делается в файле реализации:

@synthesize mainNavController = _mainNavController;
@synthesize rootView = _rootView;

Хотя я, конечно, могу использовать их с префиксом _, это просто запутывает мой код. Я делаю что-то ужасно неправильно?

Спасибо заранее.

1 ответ

Решение

Конечно, я могу использовать их с префиксом _.

Почему бы вам не использовать свои свойства (например, self.mainNavController) вместо бекапных иваров напрямую?

Прочитайте, что Apple говорит об использовании методов доступа:

Иногда это может показаться утомительным или педантичным, но если вы постоянно используете методы доступа, шансы на проблемы с управлением памятью значительно уменьшаются. Если вы используете retain и release для переменных экземпляра в вашем коде, вы почти наверняка делаете неправильные вещи.

Свойства инкапсулируют код управления памятью и таким образом уменьшают шаблон.

Единственные места, где вы не должны использовать методы доступа для установки переменной экземпляра, находятся в init методы и dealloc,

Кроме того, соглашение о префиксе бэк-ивар с _ не позволяет вам получить доступ к вспомогательным иварам напрямую по ошибке (и, например, не удержать объект).

Другие вопросы по тегам