swift3+OSX開発格闘記第13回「TreeViewのしんどさ」

Author:

開発においてなかなかに苦戦したのがswiftでのTreeViewである。
色々と癖があるのですよこれ。

自分の場合OutlineViewってのを使ったのだけれども。
まず最初にNSOutlineViewDelegateをextendsしてツリークリックや展開の処理をViewControllerに委譲させる。
そしてNSOutlineViewDataSourceもextendsさせてデータソースを扱うようにする。
んでオーバーロードされているoutlineViewそれぞれをオーバーライドさせる。文章だけじゃ分かりづらいっすねえ。

もちろんVisualStudioはイベント駆動型で実装できるからOnExpandとかOnSelectとかそんな感じでフックをかければ簡単に実装できるのだけど、同じ気持ちでswiftやったらえらい大変でした。
当然のことながらiOSとは仕様も違うし、なんだかこういうnotify系は今のswift3だとなんか挙動がおかしいとかなんとか。
ウィンドウのリサイズもうまく通知を受け取れなかったし。
やり方が悪いのかそれともswiftが悪いのか。

本気でstack overflowに書き込もうか迷った件でしたね。

Facebook にシェア
Pocket