Re: [問題] PureMVC小問題

看板Flash作者 (CJ Cat)時間15年前 (2010/06/02 22:02), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《MagicYan (【賣幾客.羊】)》之銘言: : override public function listNotificationInterests():Array : { : return [StageMediator.KEYDOWN]; : } : 底下再寫處理通知的handleNotification(n:Inotification) : 現在問題來了,一旦這樣寫了之後,不就寫死了,將來想在執行期 : 新增或移除感興趣的通知,或是處理通知的function不都變得很不 : 靈活嗎?這種狀況有解決方案嗎? 如果是每次呼叫notifyObservers()的時候 都會去呼叫listNotificationInterests()的話 就沒有這個問題 因為該Array可以是動態更新的 不過現實總是殘酷的 我看了一下View.as 在registerMediator()的時候 就已經把listNotificationInterests()的回傳值給註冊起來了 而不是每次呼叫notifyObservers()的時候都更新一次 這樣的話並不是沒有辦法動態更新 每次你listNotificationInterests()回傳的Array有變動的時候 就用removeMediator()和registerMediator()重新把Mediator註冊一次 這樣就達到你想要的效果 雖然有點麻煩 但是至少是可行的 :) -- CJ Cat = Croa'J Cat = Cockroach Cat = 西街凱特 = 蜚蠊貓 = 蟑螂貓 Blog http://cjcat.blogspot.com Gallery http://cjcat2266.deviantart.com ptt2 Board CJWorkshop - 阿多比閃光(Adobe Flash)研討區 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.45.164.207

06/02 22:54, , 1F
這問題不曉得下個版本會不會改善...不然自己動手改 xD
06/02 22:54, 1F
文章代碼(AID): #1C1cIHot (Flash)
討論串 (同標題文章)
文章代碼(AID): #1C1cIHot (Flash)