私はカスタムに少し問題がありますNSTableCellView
。
問題: Nib に Table View があり、配列からデータをロードするようにすべてのものが構成されています。今のところ、OKです。問題は、アプリが (メソッドを使用して(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;
}
もう 1 つ、TableViewPlayground と呼ばれる Apple のサンプル プロジェクトの 1 つに少し従いました。
ありがとう