【发布时间】:2013-12-20 23:43:40
【问题描述】:
没有Storyboards,我曾经在AppDelegate的didFinishLaunchingWithOptions中使用此代码将Data Model分配给View Controller:
//Data Model Class
DataModel *model=[[DataModel alloc] init];
// TableViewController
Controller *controller=[[Controller alloc] initWithModel:model style:UITableViewStylePlain];
self.window.rootViewController=controller;
在view Controller的initWithModel方法中:
-(id)initWithModel:(SBQAllReadersModel *) aModel
style:(UITableViewStyle) aStyle{
if (self=[super initWithStyle:aStyle])
{
_model=aModel;
}
return self;
}
但是Storyboards 我做不到:
//Data Model Class
DataModel *model=[[DataModel alloc] init];
UIStoryboard *mainStoryboard = [UIStoryboardstoryboardWithName:@"MainStoryboard" bundle: nil];
Controller *controller = [mainStoryboard instantiateViewControllerWithIdentifier:@"Controller"];
controller.model=model;
问题是在Storyboards 中我不能使用View Controller 的init 方法,因为Storyboard 无法识别它。我必须使用它不能被覆盖的initWithCoder:,并且我不能将参数传递给awakeFromNib。
您建议我将data model 和Storyboards 从appDelegate 分配给Controllers?
非常感谢
【问题讨论】:
标签: ios storyboard uistoryboard appdelegate