我目前正在重构我的应用程序以确保它符合 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;
}
那是对的吗 ?