2011-07-18 2 views
1

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

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

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

ответ

0

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

0

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

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

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

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

+0

Я не использую Interface Builder. Я скорее всего делаю это в коде, это дает мне большую гибкость. Я также знаком со стандартным управлением памятью alloc/keep/release объекта. Мой вопрос - скорее теоретический вопрос. – Pete42

+1

Я действительно не могу помочь. Я дам вам +1 за вопрос, потому что теперь мне любопытно. :) – Peres

Смежные вопросы