当前位置:  开发笔记 > IOS > 正文

处理多个NSTableView的最佳方法

如何解决《处理多个NSTableView的最佳方法》经验,为你挑选了1个好方法。

在不使用Cocoa绑定的情况下,什么被认为是处理多个NSTableView的最佳方法?

在我的应用程序中,我有两个NSTableViews足够密切相关,我使用相同的对象作为委托和dataSource两者.问题是tableViews调用相同的方法.我目前在NSControl -tag的基础上区分两个tableViews.

我深入研究这段代码,使用-tag看起来更加丑陋.我最终创建了大量重复的代码来区分每个委托/ dataSource方法中的tableViews.代码最终明显是非面向对象的.

我可以创建一个单独的对象来处理一个或另一个tableView,但是创建所述对象将是一个很大程度上是人为的构造,只是为了提供一个独特的委托/ dataSource.

大家现在只使用Cocoa Bindings吗?我正在避免使用Bindings,因为我希望磨练我的Cocoa技能,这些技术可以在Mac OS和iPhone之间进行转换.



1> Brian Webste..:

NSTableView的每个delegate/dataSource方法都传递NSTableView的实例,该实例将其作为第一个参数调用(除了传递NSNotification对象的那个,在这种情况下,NSNotification object是表视图实例).一些例子包括:

- (int)numberOfRowsForTableView:(NSTableView*)aTableView;

- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn*)aTableColumn row:(NSInteger)rowIndex

- (void)tableViewSelectionDidChange:(NSNotification *)aNotification

如果您使用一个控制器对象作为多个表的委托/数据源,则可以使用该参数来区分它们.


是的,通常你也会在IB中从控制器到表格视图设置插座,所以你可以将传递的表视图与你的插座进行比较,以确定哪个是哪个.
推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有