Глобальное объявление с использованием viewWithTag: и объявление в viewDidLoad: - PullRequest
1 голос
/ 19 июля 2011

Я начал новый проект, и мне было интересно, если кто-нибудь поэкспериментировал, что является более эффективным: объявить объект (например, UIButton) в файле .h или создать объект в методе viewDidLoad и использовать viewWithTag: метод получить доступ к элементу после того, как он был создан.

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

Спасибо за ваш вклад.

Ответы [ 2 ]

0 голосов
/ 08 ноября 2013

Теперь, когда я оглядываюсь назад на этот вопрос, это кажется глупым вопросом.Оба должны иметь одинаковое использование памяти, так как они оба будут выделять одинаковый объем памяти.При этом ссылка на объект, хранящийся в файле .h, должна быть лучше.Это должно быть лучше, так как функция viewWithTag выполнит некоторую обработку, чтобы получить указатель на объект, в то время как другой способ уже будет в вашем классе.

0 голосов
/ 19 июля 2011

Я бы использовал IBOutlet для доступа к вашим UIViews, объявленным в XIB.Я бы порекомендовал:

1) Если что-то происходит, но вы знаете, сколько их (UILabels, UIButtons, UIViews, UIScrollViews и т. Д.), Я бы создал их в XIB, а затемIBOulets, чтобы я мог контролировать их в коде.И это облегчает вам жизнь (с точки зрения управления памятью).

2) Если вы не уверены, сколько видов вам понадобится, я бы создал их динамически.Потому что это дает вам свободу добавлять, сколько вы хотите.

Мое правило: если я знаю, сколько у меня будет просмотров, вероятно, создам их в XIB, если не динамически.

...