iPhone初始化带有附加数据的UIViewController

avf*_*avf 3 iphone initialization init uiviewcontroller

我有一个自定义的UIViewController子类,它被推送到UINavigationController堆栈上.我想在初始化/推送时添加一些我自己的数据.我是不是该

a)用我的数据作为参数写一个自定义的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;
}
Run Code Online (Sandbox Code Playgroud)

或者b)在我的viewcontroller中添加一个属性来存储我的自定义数据,然后在初始化后添加它?

在这些方法之一中是否存在一些优势/劣势,还是有另一种方法可以做到这一点?

回复非常高兴!

Ste*_*ntz 6

当然,我一直这样做.更好的是,完全忘记笔尖的名字并做:

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