gpt4 book ai didi

ios - 使用 Storyboards 将数据模型分配给 appDelegate 中的 View Controller - ios

转载 作者:行者123 更新时间:2023-12-01 19:04:22 26 4
gpt4 key购买 nike

没有 Storyboards我曾经分配 Data ModelView Controller使用 didFinishLaunchingWithOptions 中的此代码的 应用委托(delegate) :

//Data Model Class
DataModel *model=[[DataModel alloc] init];

// TableViewController
Controller *controller=[[Controller alloc] initWithModel:model style:UITableViewStylePlain];

self.window.rootViewController=controller;

initWithModel view Controller 的方法:
-(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我无法使用 init View Controller 的方法因为 Storyboard 无法识别它.我必须使用 initWithCoder:它不能被覆盖,我不能将参数传递给 awakeFromNib .

你有什么建议我分配 data modelStoryboardsControllers来自 appDelegate ?

非常感谢你

最佳答案

考虑到 DataModel 的分配方式,我认为第一个 View Controller 中的惰性 getter 是优越的(甚至比你以前的做法)。例如

// in Controller.m private interface declare @property(strong,nonatomic) DataModel *dataModel, then...

- (DataModel *)dataModel {
if (!_dataModel) {
_dataModel = [[DataModel alloc] init];
}
return _dataModel;
}

关于ios - 使用 Storyboards 将数据模型分配给 appDelegate 中的 View Controller - ios,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20713675/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com