Установить аргументы в - (id) init - PullRequest
0 голосов
/ 11 сентября 2011

можно передать аргументы по методу init?Я работаю с классами UITableViewController и UINavigatorController, когда я выдвигаю новое представление с:

[self.navigationController pushViewController:[[Class alloc] init] animated:YES];

Я также передаю строку этому контроллеру, возможно ли это?

Ответы [ 2 ]

2 голосов
/ 11 сентября 2011

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

Поскольку вы обнаруживаете, что создаете более одного инициализатора длякласс, вы должны обязательно следовать рекомендациям для создания одного инициализатора «назначенный инициализатор».Вот ссылка на статью, демонстрирующую принцип назначенных инициализаторов.

1 голос
/ 11 сентября 2011

Конечно, просто определите свой собственный инициализатор для своего подкласса контроллера представления:

- (id)initWithStyle:(UITableViewStyle)style andSomeParameter:(NSString *)param
{
    if (self = [super initWithStyle:style]) {
        myInstanceVariable = [param retain];
    }
    return self;
}

(Это для подкласса UITableViewController.)

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