作者yllan (蓝永伦)
看板MacDev
标题Re: [问题] 如何在NSPopUpButton binding contents …
时间Fri Apr 27 18:39:15 2007
※ 引述《atst (电脑无法阻止人类做蠢事)》之铭言:
: ※ 引述《Fungshui (忙)》之铭言:
: : 因为这个 NSArray 的内 容 同样为另一个 NSTableView 的内容
: : 直接加上东西的话,在另个 NSTableView 也会出现,这不是我要的结果痾XD
: : 其实也可以再定义另个 NSArray 专门储存 menu items
: : 只是我觉得这样不是个很好的方法
: : 反正这只是个小小的 UI 问题,等以後有空的时候再来搞定好了XD
所以我说是用一个自己写的 Array 空壳来 wrap 一个真正的 array,
变成这样:
NSPopupButton -> NSArrayController -> MenuArrayWrapper
|
V
NSTableView -> NSArrayController -> ActualArray
其中 MenuArrayWrapper 的作用就是帮 ActualArray 制造出一个被加料
的假象,也就是说当 i = 0 时 return 特定的 menu item, i > 0 时
return [ActualArray objectAtIndex: i - 1];
: 我并没有很详细的去看NSPopupButton的说明;
: 但依Cocoa的设计模式,在资料从NSArrayController传到NSPopupButton前,
: 应该会有对应的BeforeXXX method,而之後也会有AfterXXX之类的method。
: 要完成你的需求 ,看来应该是要在这个点下手,在资料显示前,插入新资讯.
用 binding 的话好像没有这种东西耶?
btw, Cocoa binding 该不该用也是个蛮大的 issue 就是了...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.124.91.252