2012-09-23 15 views
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; 
} 

二つの絵、彼らはまだどのように役立つかわかりません。チェックするhttp://imgur.com/a/ix34Q

答えて

16

いくつかのこと:

  • はあなたのNSTableViewは がNSTableViewDelegateプロトコルを実装するクラスへのdelegateセットを持っていますか? (私は tableView:viewForTableColumn:row:は、データソース方式 tableView:objectValueForTableColumn:row:に対し、デリゲートメソッドですのでお願いします。)

  • がIBに設定されているすべてのバインディングがありますか? (あなたは は、既存のプロジェクトからペン先をコピーしたことに言及。)結合NSTableViewコンテンツへと提供されるビューの サブビューへのバインディング を中心にチェックします(通常はテキストフィールド。)

  • あなたがnumberOfRowsInTableView:メソッドを実装してください。 NSTableViewDataSourceプロトコルから、0以外の 整数を返しますか?

最後に、あなたは、ドキュメントの「プログラムの移入ビューベーステーブルビュー」に表ビュープログラミングガイド章を見ているかもしれません。

+2

実際、デリゲートとしてリンクされることになっていました。どうもありがとう! –

+0

確かに、私の喜び。 – FluffulousChimp

+0

最初の点は私の問題でした。これらのメソッドが異なるメソッド(プロトコル|データソース)に属しているのを少し混乱させます。ありがとう! –

関連する問題