NSTableView 单元格文本未更改
NSTableView cell text not changed
我在 osx 应用程序中使用 NSTableView
:
- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView {
if (tableView == self.categoryTable) {
return [[[AppAPI shared] categoryArr] count];
}
return 0;
}
- (nullable id)tableView:(NSTableView *)tableView objectValueForTableColumn:(nullable NSTableColumn *)tableColumn row:(NSInteger)row {
if (tableView == self.categoryTable) {
NSTableCellView *cellView = [tableView makeViewWithIdentifier:tableColumn.identifier owner:self];
CategoryItem * cat = [[AppAPI shared] categoryArr][row];
cellView.textField.stringValue = cat.name;
return cellView;
}
return nil;
}
我使用此代码将数据插入 table,但我得到的只是包含以下文本的行:
cellView
不为零
知道为什么会这样吗?
您使用了错误的委托/数据源方法
objectValueForTableColumn:row
应该是 return 行的对象
- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
return [[AppAPI shared] categoryArr][row];
}
viewForTableColumn:row:
return 视图。
- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
return [tableView makeViewWithIdentifier:tableColumn.identifier owner:self];
}
PS:您的设计中有多少 table 个视图需要您检查是否正确?
我在 osx 应用程序中使用 NSTableView
:
- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView {
if (tableView == self.categoryTable) {
return [[[AppAPI shared] categoryArr] count];
}
return 0;
}
- (nullable id)tableView:(NSTableView *)tableView objectValueForTableColumn:(nullable NSTableColumn *)tableColumn row:(NSInteger)row {
if (tableView == self.categoryTable) {
NSTableCellView *cellView = [tableView makeViewWithIdentifier:tableColumn.identifier owner:self];
CategoryItem * cat = [[AppAPI shared] categoryArr][row];
cellView.textField.stringValue = cat.name;
return cellView;
}
return nil;
}
我使用此代码将数据插入 table,但我得到的只是包含以下文本的行:
cellView
不为零
知道为什么会这样吗?
您使用了错误的委托/数据源方法
objectValueForTableColumn:row
应该是 return 行的对象
- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
return [[AppAPI shared] categoryArr][row];
}
viewForTableColumn:row:
return 视图。
- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
return [tableView makeViewWithIdentifier:tableColumn.identifier owner:self];
}
PS:您的设计中有多少 table 个视图需要您检查是否正确?