对象OS X:在表视图中填充项目

时间:2015-02-06 22:01:47

标签: objective-c xcode macos cocoa tableview

我拼凑了以下代码来填充表视图,并希望能够从数组中填充它。 谁有人可以告诉我一些如何?

- (void)applicationWillTerminate:(NSNotification *)aNotification {
// Insert code here to tear down your application
NSLog(@"a"); }

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
NSRect          scrollFrame = NSMakeRect( 20, 74, 155, 296);
NSScrollView*   scrollView  = [[NSScrollView alloc] initWithFrame:scrollFrame];

[scrollView setBorderType:NSBezelBorder];
NSRect          clipViewBounds  = [[scrollView contentView] bounds];
NSTableView*    tableView       = [[NSTableView alloc] initWithFrame:clipViewBounds];

NSTableColumn*  firstColumn     = [[NSTableColumn alloc] initWithIdentifier:@""];
[tableView  addTableColumn:firstColumn];
[tableView setHeaderView:nil];
[tableView setDataSource:self];
[tableView setRowHeight:40.0];
[scrollView setDocumentView:tableView];
[[[self window] contentView] addSubview:scrollView];

}

 - (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView
{
   return 5;
}

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

NSString* cellValue = [NSString stringWithFormat:@"%@ %ld", [aTableColumn identifier], (long)rowIndex];

return cellValue;
 }

1 个答案:

答案 0 :(得分:-1)

首先我建议不要使用静态细胞。为了成功创建一个包含静态单元格的tableView,您需要保留对每个单元格的引用并将数据添加到它中,这可能会在您的代码中造成很大的混乱。

如果您只想添加更改单元格背景颜色的功能,我建议您使用原型单元格(即您的单元格中包含常用元素)。

但是如果你坚持使用静态单元格,你需要保持对tableView中所有单元格的引用