gpt4 book ai didi

iphone - 在简单的应用程序中将模型链接到 Controller ?

转载 作者:行者123 更新时间:2023-12-03 21:09:14 25 4
gpt4 key购买 nike

我只是在寻找从我的 Controller 访问简单模型对象(在 MVC 意义上)的方法。现在我正在 applicationDelegate 中创建模型,并在创建 Controller 时将其传递给 Controller ​​。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

// Setup Model
DataModel *tempDataModel = [[DataModel alloc] init];
[self setDataModel:tempDataModel];
[tempDataModel release];

// Setup Controllers
Controller *rootController = [[Controller alloc] initWithModel:[self dataModel]];
UINavigationController *tempNavController = [[UINavigationController alloc] initWithRootViewController:rootController];
[self setNavController:tempNavController];
[rootController release];
[tempNavController release];

[window addSubview:[[self navController] view]];
[window makeKeyAndVisible];
return YES;
}

在 Controller 内我有:

@property (nonatomic, retain)DataModel *dataModel;

和:

- (id)initWithModel:(id)newModel {
self = [super init];
if(self) {
NSLog(@"%s", __PRETTY_FUNCTION__);
dataModel = [newModel retain];
}
return self;
}

- (void)dealloc {
NSLog(@"%s", __PRETTY_FUNCTION__);
[dataModel release];
[super dealloc];
}

这工作得很好,但我只是好奇这在 MVC 和良好的设计方面是否可以。在以前的应用程序中,我有:

  1. 使用共享实例(Singleton)
  2. 从 Controller 内部创建模型。

任何评论我都会非常感激:

最佳答案

我认为这是非常好的设计。 Controller 被允许操纵模型,因此需要对此的引用。我认为您当前注入(inject)模型实例的方法比单例方法更好。

关于iphone - 在简单的应用程序中将模型链接到 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4388109/

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