如果我有一个包含多个按钮、一个表格和一些其他控件的视图,我是否需要为每种类型(按钮、表格等)设置一个控制器,还是每个视图都应该有一个控制器来处理所有必要的操作?似乎不可能使用单个控制器,因为它们可能必须从不同的父类继承。最好的方法是什么?
问问题
766 次
2 回答
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 中。根据您使用的控件,您可能需要其他委托(例如文本字段委托)。
于 2009-06-04T09:11:47.427 回答
1
优秀的反应,内文。此外,Cocoa (Touch) API 大量使用了委托。这使您可以将单个控制器用于多个事物,而无需对所有事物进行子类化。然后,控制器是几个组件(例如 UITableView)的委托。
于 2009-06-04T10:27:46.040 回答