6

ビューベースのテーブルを作成しようとしている間、それはviewForTableColumnの代わりにobjectValueForTableColumn関数を呼び出し続けます。

設定でテーブルビューを「ビューベース」に設定しました。しかし、それでも正しい関数を呼び出させることはできません。私はりんごの例 (tableviewplayground) の実装を見てきましたが、いくつかの時点で IB と関数をコピーして貼り付けましたが、まだ進歩はありません。

関連するコード:

// Should run
- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row 
{    
    return nil;
}

// Gets run
-(id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
{
    return nil;
}

2 つの写真、どれだけ役立つかはわかりませんが、それでも。http://imgur.com/a/ix34Q

4

1 に答える 1

16

いくつかの確認事項:

  • プロトコルを実装するクラスに設定していNSTableViewますか? ( はデリゲート メソッドですが、 はデータ ソース メソッドです。)delegateNSTableViewDelegatetableView:viewForTableColumn:row:tableView:objectValueForTableColumn:row:

  • IB で設定されているバインディングはありますか? (既存のプロジェクトから nib をコピーしたと述べています。)主に、NSTableViewコンテンツ バインディングへのバインディングと、提供されたビューのサブビュー (通常はテキスト フィールド) へのバインディングを確認します。

  • プロトコルnumberOfRowsInTableView:からメソッド を実装し、ゼロ以外の整数を返しますか?NSTableViewDataSource

最後に、ドキュメントの「プログラムによるビューベースのテーブル ビューの設定」に関するテーブル ビュー プログラミング ガイドの章を参照してください。

于 2012-09-23T11:08:53.990 に答える