Переопределяющие свойства дочернего контроллера представления против установки их через родительский контроллер представления - PullRequest
0 голосов
/ 18 февраля 2010

Если вы хотите изменить поведение View Controller по умолчанию, изменив значение одного из его свойств, считается ли он лучшей формой на

  1. создать экземпляр класса и установить его свойство напрямую, или

  2. подкласс его и переопределить свойство?

В первом случае родительский View Controller будет отвечать за настройку своих дочерних элементов, тогда как в последнем случае дочерние элементы будут эффективно настраивать себя.

РЕДАКТИРОВАТЬ: Дополнительная информация:

Класс, на который я ссылаюсь, - это FetchedTableViewController, подкласс UITableViewController, который я создал для отображения результатов операции извлечения базовых данных.

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

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

Ответы [ 2 ]

0 голосов
/ 18 февраля 2010

Из вашего описания это звучит как место, где вы должны предоставить свой собственный init:

- (id)initWithParamterINeed: (BOOL)aParameter;
{
    if (( self = [super initWithNibName: @"MyNibName" bundle: nil] )) {
        parameter = aParameter;
    }
    return self;
}
0 голосов
/ 18 февраля 2010

Вообще говоря, Какао разработан, чтобы минимизировать подклассы (отсюда широкое использование делегатов).Тем не менее, UIViewController - это класс, разработанный специально для подклассов.Поскольку лучше хранить код «локально», я бы рекомендовал создавать подклассы.

...