Mac osx 10.7でココアを使用して、TableViewにいくつかの行を入力しましたが、混乱がありました。
names は NSString* を含む NSArray* です
- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex;
{
return [names objectAtIndex:rowIndex];
}
Appleのドキュメントでデータソースのプロトコルリファレンスを確認しました
上記の関数で NSString* を返しています。メソッドのシグネチャは id のみを返し、 NSString* は返しません。ドキュメントには、それが言う戻り値の型についての手がかりがありませんでした
An item in the data source in the specified tableColumn of the view.
私のケースは単純でした NSString* は理にかなっていて、うまくいきましたが、よくわかりません。署名に言及がなく、メソッドのドキュメントにも何も記載されていない場合、このメソッドによって返される必要があるデータのタイプに関するこの暗黙の知識はどこから来るのだろうかと思います:/
アドバイスはありますか?私は .Net/android/ バックグラウンドから来ています。おそらくそれらは強く型付けされた言語であるため、そこにあるドキュメントはより理にかなっています...