iPhone инициализирует UIViewController с дополнительными данными - PullRequest
3 голосов
/ 04 марта 2010

У меня есть собственный подкласс UIViewController, который помещается в стек UINavigationController. Я хочу добавить свои собственные данные во время инициализации / отправки. Должен ли я

а) написать собственный метод init с моими данными в качестве аргумента, как это?

MyCustomViewControllerSubclass.m:

- (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)bundle myCustomData:(NSData *)data{
    if(self = [super initWithNibName:nibName bundle:nibName]){
    //do stuff with my data
    }
    return self;
}

или б) добавить свойство в мой viewcontroller, в котором хранятся мои пользовательские данные, а затем добавить его после инициализации?

Есть ли какое-то преимущество / недостаток в одном из этих подходов или есть другой способ сделать это?

Очень рад за ответы!

1 Ответ

6 голосов
/ 04 марта 2010

Абсолютно, я делаю это все время. Более того, полностью забудьте о названии пера и сделайте:

- (id) initWithMyCustomData: (id) customData
{
    if(self = [super initWithNibName: @"MyNibName" bundle: nil]){
        //do stuff with my data
    }
    return self;
}
...