【发布时间】:2013-03-25 22:07:07
【问题描述】:
我目前正在重构我的应用程序以确保它符合 MVC。 我想拆分控制器(扩展 UIController 的 MyController)和视图(扩展 UIView 的 HomeView)我使用
在 myController 中设置视图self.view = [[HomeView alloc] init];
当我按下 UIButton 时,视图中会调用一个方法,而在这个方法中我想从控制器调用一个方法。
在我看来
[zenModeBtn addTarget:self action:@selector(touchZenMode:) forControlEvents:UIControlEventTouchDown];
...
- (void) touchZenMode:(id) sender {
[myController playZenMode];
}
但是在视图中引用控制器确实是一种不好的做法,不是吗?
编辑:
所以在我的 UIViewController 中我做了这个:
- (id) init {
HomeView* myHomeView = [[HomeView alloc] init];
[myHomeView.arcadeModeBtn addTarget:self action:@selector(touchArcadeMode) forControlEvents:UIControlEventTouchUpInside];
self.view = myHomeView;
return self;
}
对吗?
【问题讨论】:
标签: ios cocoa-touch cocoa model-view-controller