私は自分でココアを学び始めたばかりで、同じデリゲートとコントローラー (私の場合はアプリデリゲート) を持つ複数のビューベースの NSTableView を表示する (おそらく単純な) 問題に遭遇しています。この投稿を見ました: 複数の NSTableView(s) を処理するための最良 の方法ですが、説明されている方法ではまだエラーが発生します-具体的には
メソッド 'numberOfRowsInTableView:' の宣言が重複しています メソッド 'tableView:viewForTableColumn:row:' の宣言が重複しています
明らかに、コンパイラは、さまざまなメソッド宣言がさまざまなテーブル ビューに対応していることを認識していません。
AppDelegate.m ファイルのテーブルビューのコードは次のとおりです。
@synthesize tableView1;
@synthesize tableView2;
-(NSUInteger)numberOfRowsInTableView:(NSTableView *)tableView1
{
return 1;
}
-(NSUInteger)numberOfRowsInTableView:(NSTableView *)tableView2
{
return 2;
}
- (NSView *)tableView:(NSTableView *)tableView1 viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
{
NSTableCellView *resultForTable1 = [tableView1 makeViewWithIdentifier:tableColumn.identifier owner:self];
resultForTable1.textField.stringValue = @"This should appear in the first tableView";
return resultForTable1;
}
- (NSView *)tableView:(NSTableView *)tableView2 viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
{
NSTableCellView *resultForTable2 = [tableView2 makeViewWithIdentifier:tableColumn.identifier owner:self];
resultForTable2.textField.stringValue = @"This should appear in the second tableView";
return resultForTable2;
}
私の AppDelegate.h ファイルには、次のものがあります。
@property (weak) IBOutlet NSTableView *tableView1;
@property (weak) IBOutlet NSTableView *tableView2;
ここで何が間違っていますか?