Re: [問題] PureMVC小問題
※ 引述《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
06/02 22:54, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):