Objective c 自定义表格单元格视图不支持';加载表数据时无法修改

Objective c 自定义表格单元格视图不支持';加载表数据时无法修改,objective-c,xcode,macos,nstableview,nstableviewcell,Objective C,Xcode,Macos,Nstableview,Nstableviewcell,我对自定义的NSTableCellView有点问题 问题:我在Nib中有一个表视图,其中配置了从数组加载数据的所有内容。现在,一切都好。问题是,当应用程序准备视图时(使用方法(id)tableView:(NSTableView*)tableView objectValueForTableColumn:(NSTableColumn*)tableColumn row:(NSInteger)row),返回的视图会根据我的需要进行修改(在返回之前由断点进行监视),但我可以看到的、每个人都可以看到的视图不

我对自定义的
NSTableCellView
有点问题

问题:我在Nib中有一个表视图,其中配置了从数组加载数据的所有内容。现在,一切都好。问题是,当应用程序准备视图时(使用方法
(id)tableView:(NSTableView*)tableView objectValueForTableColumn:(NSTableColumn*)tableColumn row:(NSInteger)row
),返回的视图会根据我的需要进行修改(在返回之前由断点进行监视),但我可以看到的、每个人都可以看到的视图不会被修改

我希望你能帮我找到问题。我给你一些东西来帮助你理解我的问题

一些图像

如您所见,在返回之前,视图也会被修改

单元格显示在表视图中,在本例中,自定义视图未被修改,看起来我没有修改任何内容

代码

我的自定义
NSTableCellView
,只有一个标题

@interface playlistQueueItemView : NSTableCellView
@property (weak) IBOutlet NSButton *button;
@property (strong) IBOutlet NSTextField *title;
@property (strong) IBOutlet NSTextField *artist;

- (void)setAllFromInitWithTitle:(NSString*)title artist:(NSString*)artist;
@end
用于创建表视图的方法:

- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
    playlistQueueItemView *cell = [tableView makeViewWithIdentifier:tableColumn.identifier owner:self];
    NSDictionary* song = [[PlaylistQueue getQueue] getSongWithPos:(int) row];

    cell.artist.stringValue = song[@"artista"];
    cell.title.stringValue = song[@"titulo"];

    return cell;
}
还有一件事,我遵循了苹果公司的一个样本项目,叫做TableViewPlayed


谢谢:D

您必须重写
-(NSView*)tableView:(NSTableView*)tableView viewForTableColumn:(NSTableColumn*))tableColumn row:(NSInteger)row
,然后返回视图

-(id)tableView:(NSTableView*)tableView objectValueForTableColumn:(NSTableColumn*)tableColumn row:(NSInteger)row
中,可以返回具有要填充的值的模型对象


谢谢:D.我不知道这两种方法的区别。现在也可以了