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

时间:2010-03-03 22:00:53

标签: iphone uiviewcontroller initialization init

我有一个自定义的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;
}

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

在这些方法中是否存在某些优势/劣势,还是有其他方法可以做到这一点?

非常高兴回复!

1 个答案:

答案 0 :(得分:6)

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

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