Re: [問題] 如何在NSPopUpButton binding contents …

看板MacDev作者 (藍永倫)時間18年前 (2007/04/27 18:39), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/5 (看更多)
※ 引述《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
文章代碼(AID): #16CTBLkC (MacDev)
文章代碼(AID): #16CTBLkC (MacDev)