2
我只是想方設法從我的控制器訪問一個簡單的模型對象(在MVC中)。現在我在applicationDelegate中創建模型,並在創建控制器時將其傳遞給控制器。在簡單的應用程序中將模型鏈接到控制器?
- (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;
}
控制器內我有:
@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和良好的設計方面。在以前的應用程序,我有:
- 使用
- 創建的模型從控制器內的共享實例(辛格爾頓)。
任何評論都將我非常讚賞: