我試圖擴展ObjectProxy類,原因是因爲我想有ObjectProxy類的一個Singleton,所以我做了類似如何延長ObjectProxy類
package utils
{
import mx.utils.ObjectProxy;
public class UniformObjectProxy extends ObjectProxy
{
private static var _instance:UniformObjectProxy;
public function UniformObjectProxy(secure:PrivateClass, item:Object=null, uid:String=null, proxyDepth:int=-1)
{
super(item, uid, proxyDepth);
}
public static function getInstance(item:Object=null):UniformObjectProxy{
if(UniformObjectProxy._instance == null){
var security:PrivateClass = new PrivateClass();
UniformObjectProxy._instance = new UniformObjectProxy(security, item);
}
return UniformObjectProxy._instance;
}
}
}
class PrivateClass{
public function PrivateClass(){
}
}
當我創建我的目標一致是一個簡單的對象,我把它傳遞給我的UniformObjectProxy.getInstance()靜態方法來得到我的一個objectProxy實例,確定到目前爲止好
我的問題是,當我嘗試我objectProxy實例的屬性綁定像
_opc = UniformObjectProxy.getInstance(_uniform);
cw:ChangeWatcher = BindingUtils.bindSetter(dispatchColorChange, _opc, data.id);
的dispatchColorChange處理函數被調用一次的永遠不再,我曾檢查過ChangeWatcher.isWatching()並返回false意味着我objectProxy沒有約束力正常,如果我創建一個objectProxy像
_opc = new ObjectProxy(_uniform);
cw:ChangeWatcher = BindingUtils.bindSetter(dispatchColorChange, _opc, data.id);
的結合的工作方式好,所以我的思想是問題是當我擴展objectProxy類時,如何正確地做到這一點,請幫助我!,謝謝你的任何線索!
也沒有回答我的問題,但這樣做的工作,謝謝爲了指點我正確的方向,這個作品非常感謝! – goseta 2010-02-09 01:12:20