我有一个自定义的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中添加一个属性来存储我的自定义数据,然后在初始化后添加它?
在这些方法中是否存在某些优势/劣势,还是有其他方法可以做到这一点?
非常高兴回复!
答案 0 :(得分:6)
当然,我一直这样做。更好的是,完全忘记笔尖的名字并做:
- (id) initWithMyCustomData: (id) customData
{
if(self = [super initWithNibName: @"MyNibName" bundle: nil]){
//do stuff with my data
}
return self;
}