TableView是在IB中创建的,并且希望它只有一个带有复选框的列。创建复选框的一种方法是使用IB将一个NSButtonCell拖到列中,然后遵循NSTableViewDataSource协议实现:
- (void)tableView:(NSTableView *)aTableView setObjectValue:(id)anObject forTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView因此,当类对象充当TableView中列的数据源时,该列包含诸如每行复选框之类的对象,类是只提供复选框的on/off状态数据,还是也提供复选框对象?
有关问题如下:
谢谢。
发布于 2013-07-03 11:55:49
我认为您发现很难理解模型、视图和控制器之间的区别。
类对象只应充当“模型”--在您的情况下,应提供on/off状态数据。您的IB提供“查看”部分,通常您应该使用它来创建任何用户界面。您的类实现了tableview委托/数据源方法,它是“Controller”部分,您应该使用它作为视图和模型之间的中介。
您可以选择在模型中提供按钮状态和标题。并且可以在委托/数据源方法的控制器实现中设置它。
是的,你可以在你的控制器中创建按钮单元,但是除非它是绝对必要的,否则要避免它。
您可以混合不同类型的单元格,而可以选择查看基于视图的TableView。
https://stackoverflow.com/questions/17308536
复制相似问题