Swift:NSTableViewを2個定義したいときは?

ひとつのWindowに表( NSTableView)をふたつ定義したいとき、どうすればいいのでしょうか?

前々から疑問に思っていながら真剣に調べなかったことが問題として再浮上してきました。Windowをふたつに分けて制御することも検討したのですが、どうもその前にこの問題をクリアしておいた方がいいという結論に達しました。Custom Cellを並べる代案では、サムネールの表示がうまくできそうになかったからです。

それで、昨日のNSTableViewが表示できなかった理由を調べているうちに、タグで制御すればいいことがわかりました。タグは、次の図の右下のTagがそうで、この番号でNSTableViewを切り分けていけば、複数の表の制御ができるようになります。スクリーンショット 2015-05-02 13.01.48対応するプログラムは次の通りです。昨日のプログラムを再考・修正しました。一応これで動きの確認は取れたので、このあと写真をサムネール化できれば一歩前進です。

スクリーンショット 2015-05-02 13.13.13補足:たいへん残念なニュースは、NSTableViewではNSImageを扱えないことがわかりました。これからNSCollectionViewで検討を進めます。

下記のdataSource接続問題を解決したらNSImageがちゃんとセルに入りました。

補足:今、もう一度tagに番号をつけて2つの表を制御できるか確認しています。tagは、1:default、2:付加した表として2を先にif文でチェックしているのですが、2でヒットしないことがわかりました。原因を調査中。

原因:dataSourceはOutletsから接続すること。Referencing OutletsのdataSourceと接続してはダメ。xbTableViewThum?.reloadData() を忘れないこと。
スクリーンショット 2015-05-03 14.42.20

Advertisements