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.我不知道这两种方法的区别。现在也可以了