如果我有一个包含多个按钮,一个表格和其他控件的视图,我是否需要每种类型(按钮,表等)的控制器,还是每个视图都有一个控制器来处理所有必要的操作?它似乎没有单个控制器是可能的,因为它们可能必须从不同的父类继承。什么是最好的方法?对于具有不同类型控件的单个视图,我是否需要多个控制器?
0
A
回答
1
对于所有这些,您可以使用一个控制器。通过声明IBActions并将它们链接到Interface Builder中,将所有操作放入控制器并挂接按钮。 Aaron Hillegass的Cocoa Programming for Mac OS X的前几章很好地解释了这一点。
如果你有一个UITableView,你必须记住要建立UITableViewDelegate
,并确保你实现它需要的方法:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
对于其他人,在你的控制器设置IBOutlets和钩他们在Interface Builder中。根据您使用的控件,您可能需要其他代表(例如文本字段委托)。
1
优秀的回应,nevan。此外,Cocoa(Touch)API大量使用代表。这使您可以将单个控制器用于多种事物,而无需对所有内容进行子类化。控制器然后是一个组件的代表(例如UITableView)。
相关问题
- 1. 我是否需要iPhone和iPad故事板的多个视图控制器?
- 2. 每个UIView都需要一个控制器,还是一个控制器可以控制多个视图?
- 3. 用于iPhone上单个视图的多个视图控制器
- 4. 模型视图控制器模式对软件有多重要?
- 5. 控制具有相同事件类型的多个文本框
- 6. 管理模型和多个视图控制器的单个控制器?
- 7. 如何呈现具有一个视图控制器的视图控制器?
- 8. 单个模型的多个控制器
- 9. 将模型对象通过不需要的视图控制器传递给视图控制器
- 10. 如何复制不同资产类型的整个模型/控制器/视图
- 11. 有条件地从单个UITabBarItem生成两个不同的视图控制器
- 12. 多视图单控制器
- 13. XIB是否总是需要视图控制器?
- 14. 将多个视图(&nibs)添加到单个视图控制器
- 15. 是需要在一个视图控制器释放
- 16. Swift将多个类添加到相同的视图控制器
- 17. 我是否需要为UITextField创建一个控制器?
- 18. iPhone一个控制器,多个视图
- 19. 多个控制器从一个视图
- 20. 需要UISplitViewController延迟加载多个视图控制器的详细视图控制器
- 21. 在单个视图控制器中使用多个nib文件?
- 22. 没有控制器的视图的多个模型
- 23. 是否可以使用从单个模式视图控制器退回到同一个源视图控制器的多个实例中的一个实例?
- 24. 单视图控制器与MonoTouch中的多个视图
- 25. Xcode - 从多个视图控制器访问一个视图控制器
- 26. 你可以有两个从不同的视图控制器Segising到一个视图控制器Swift 3
- 27. 多个导航控制器中的视图控制器通信
- 28. Angularjs控制器的多个视图
- 29. 是否有可能使用单一视图的多个方法和不同数据的控制器?
- 30. Ember.js具有多个主控视图