Добавление розеток в Xcode 4 - PullRequest
0 голосов
/ 27 мая 2011

Я создаю IBOutlets, перетаскивая компонент пользовательского интерфейса из редактора XIB в файл заголовка моего контроллера представления. Я перетаскиваю фигурные скобки, чтобы они просто обрабатывались как переменные экземпляра, а не как свойства. Однако, несмотря на это, я заметил операторы release в моих методах viewDidUnload и dealloc. Разве это не нужно? Как я уже сказал, это не те свойства, которые я создаю. Почему генерируется код для освобождения этих объектов, когда нет сохранения, выделения, копирования и т. Д.?

Ответы [ 3 ]

1 голос
/ 27 мая 2011

В iOS, если розетка объявлена ​​как ивар, а не свойство, вы несете ответственность за ее выпуск в соответствующее время (т. Е. В -dealloc и в -viewDidUnload. Вам также следует установить их на * 1003).* в последнем.)

Это связано с особенностями управления памятью в iOS.Несмотря на это, я предпочитаю избегать использования readwrite свойств для розеток, потому что ИМХО это нарушает инкапсуляцию контроллера представления.

1 голос
/ 27 мая 2011

Вам не нужно делать их свойства, Objective-C до 2.0 не включал свойства, свойства просто синтаксический сахар.

они сохраняются при извлечении из пера.

проверить жизненный цикл объекта пера секция

1 голос
/ 27 мая 2011

Я думаю, причина в том, что у всех ваших торговых точек должны быть сохранены свойства.Таким образом, все подпредставления представлений (ваши кнопки и т. Д.) Будут гарантированно жить дольше, чем само представление.Я никогда не слышал о кодировании, как у вас.Обычно вы просто набираете код и подключаете свои розетки в .xib.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...