cococaにはTableViewっていうグリッドコントロールがある。こいつは、平たくいえばDataGridみたいなやつだ。
でも、Objective-Cの流儀なのか、普通にTableView.Items.Add()みたいなことはできない。あるのはデータソースへの接続だ。
で、そのデータソースはどうやって作るかという問題なんだけど、.netとかならICollectionの実装をもっていることとか、そういう感じになると思うが、cocoaでは
- Public Function numberOfRowsInTableView(byval tableView as TableView) as Integer
- Public Function tableView(byval objectValueForTalbeColumn as NSTableColumn ,byval rowIndex as integer)
VB的書いたけど、この二つのメソッドを実装しておけばデータソースとして機能する。時にインターフェイスとかは必要ない。Objective-CはC言語のスーパーセットなんだけど、こういうレイトバインド的な使い方もできるらしい。やっぱ結構変態言語だな。