Каково правильное обоснование для создания подкласса UIView? - PullRequest
1 голос
/ 24 декабря 2011

Я имею в виду это в соответствии с OOP и MVC.

В частности, я спланировал файл UIView XIB, в котором много динамически обновляемых UILabels, которые меняются каждый раз, когда пользователь выбирает что-то: две отметки времени,две продолжительности и два имени.Это раздел заголовка интерфейса, который видит пользователь.

Я вижу несколько вариантов 1. Создайте все в контроллере представления, добавьте UIView в качестве подпредставления к основному представлению и отслеживайтеUILabel subviews со свойствами.Но это заставляет меня добавить множество свойств в контроллер представления.2. Подкласс UIView и добавьте UILabels как свойства UIView, таким образом сохраняя контроллер «чище».3. Используйте файл XIB (но давайте предположим, что я хочу сделать это программно).

Я спрашиваю об этом, потому что у меня создается впечатление, что UIView должен быть разделен на подклассы для «пользовательского чертежа», и мое обоснование таково:далее "сохранить мой контроллер чистым без 6 свойств UILabel".

Ответы [ 2 ]

2 голосов
/ 25 декабря 2011

Не делайте для этого подкласс UIView.Вы должны создать подкласс uIView для пользовательского чертежа или, в некоторых случаях, для пользовательской обработки касаний (но часто есть более эффективные способы обработки касаний).

Помещение всего в контроллер представления и создание подклассов UIView не единственные варианты.Вы можете создать класс для управления группой представлений, которые составляют заголовок.Концептуально это будет контроллер представления, но вы не создаете подкласс UIViewController, просто наследуете от NSObject.

1 голос
/ 24 декабря 2011

По моему личному мнению, я бы сделал UILabels как свойства UIView, поэтому вариант 2. Затем вы можете легко получить к ним доступ из представления через контроллер.

Это также дает вам преимущество возможности повторного использования из представления на любом контроллере, и поскольку dealloc избавится от них из UIView, вы будете беспокоиться об очистке только один раз!

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