![NSPopUpButtonが変わらない](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7LYUOXkR_PkOfQ9Q4Q6XM-KDDJ7gS-UrwaU7g5nfq48IsSLLJ1Kk2ID8CofluuWYQHqvFayLujDhu6OqkbtfSten71HvVCgogcOVQjvLebFOkVHBofeDpd17wJA1zotH1pyz1BgXiN_U/s1600/af100.jpg)
最近Cocoa Bindingの練習も兼ねてIRcatをCocoa Bindingを使って書き直しています.面倒だった部分もすっきり書けていいのですが, 思った通りの動きをしない場合もあります.
一番うまくうごいてくれないのが, NSPopUpButton. valueをbindingするとセパレタも出せないのは有名ですが,その他もいまいち動いてくれません…
NSPopUpButtonにおける選択された項目に関するBindingはselectedIndex, selectedObject, selectedTag, selectedValueの4つ. 使い勝手がいいのは NSMenuItemのrepresentedObjectにNSStringを設定すれば, それがそのまま使える selectedValue だと思います.
ただ, これがうまく動いてくれません. メニュー自体は手動で作るのですが, 作成後にsynchronizeTitleAndSelectedItemを呼び出しても, 選択された項目を更新してくれません. Modalが変更されたらちゃんと追随してくれるのですが,値取得後にメニューを変更しても値を更新してくれないのが問題のようです.refreshなりreloadなりがあればいいのですが, それっぽいのは無いので, Modalを無理矢理更新するなどの方法しかないようです.…なんとかならないものでしょうかねぇ…
0 件のコメント:
コメントを投稿