だから私はココアの初心者であることを認めているので、初心者の質問をします。私はおそらくどこかでばかげたことを見逃しているだけですが、テーブルにデータを入力することができないようです。
私はテーブルビューの遊び場の例に従っていますが、基本的なTableViewウィンドウを模倣しようとするたびに、最初の行は追加した行数の高さになります(少なくともそれはどのように見えるかです.これが私のコードです:
- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row
{
NSString *identifier = [tableColumn identifier];
if ([identifier isEqualToString:@"filename"]) {
// We pass us as the owner so we can setup target/actions into this main controller object
NSTableCellView *cellView = [fileBrowserTable makeViewWithIdentifier:identifier owner:self];
// Then setup properties on the cellView based on the column
cellView.textField.stringValue = [fileList filenameAtIndex:row];
cellView.imageView.objectValue = [[NSWorkspace sharedWorkspace] iconForFile:[fileList fullPathAtIndex:row]];
return cellView;
}
else if ([identifier isEqualToString:@"path"]) {
NSTextField *textField = [fileBrowserTable makeViewWithIdentifier:identifier owner:self];
textField.objectValue = [fileList pathAtIndex:row];
return textField;
}
else if ([identifier isEqualToString:@"preview"]) {
NSTextField *textField = [fileBrowserTable makeViewWithIdentifier:identifier owner:self];
textField.objectValue = [fileList previewAtIndex:row];
return textField;
}
return nil;
}
古い学校のテキストフィールドセルを使用する場合、データの表示に問題がないことを言及する価値があると思います(もちろん、上記のコードはその場合は異なります)ので、値を保持するデータ構造に問題がないことを確信しています. 正しいデリゲートとデータ ソースも設定しました
「ファイル名」識別子を使用するセルは「画像とテキスト テーブル ビュー セル」を使用しますが、他のセルは「テキスト テーブル セル ビュー」のみを使用します。どちらも機能しないので、テーブルの設定方法に問題があると思います。しかし、私のテーブルを例のテーブルと比較すると、それはただの反省です (識別子ファイル名を差し引いたものです)。
よくわからないことに気付いたのは、例が次のように言っていることです。
NSTableView には 2 つの再利用識別子の関連付けがあります。「MainCell」と「SizeCell」はどちらも nib ATBasicTableViewCells.xib に関連付けられています。
この発言はよくわかりません。ただし、この例には ATBasicTableViewCells.xib が含まれておらず、それとの関連付け (コードまたは ib) もありません。