和IOS开发中的UITableView有很大差别,NSTableView并非是一个可滚动的列表视图,其是一个不可滚动、支持多列多行的原始列表视图。若要使NSTableView支持滚动,通常会将其嵌套入NSScrollView控件中。与UITableView类似,NSTableView的数据也是通过DataSource代理来提供,通过Delegate代理来进行表格视图的定制化。在OS X v10.6版本之前,NSTableView中行数据载体视图必须是NSCell的子类,之后版本的OS X支持开发者创建基于View的TableView视图,同样也支持基于Cell的TableView视图,在开发者,我们可以根据实际需求选择。
#import "ViewController.h"
@interface ViewController()<NSTableViewDelegate,NSTableViewDataSource>
@end
@implementation ViewController
{
NSTableView * _tableView;
NSMutableArray * _dataArray;
}
- (void)viewDidLoad {
[super viewDidLoad];
_dataArray = [NSMutableArray array];
for (int i=0; i<20; i++) {
[_dataArray addObject:[NSString stringWithFormat:@"%d行数据",i]];
}
NSScrollView * scrollView = [[NSScrollView alloc] init];
scrollView.hasVerticalScroller = Y