2015-08-03 71 views
0

我不確定這是否可行,但我的要求是從類加載顏色,如'A',但內部它將引用/創建一個對象B或C,其中實際方法是定義。取決於某些條件A將僅爲B或C創建引用/對象一次。如果我在A上調用方法,那麼我需要從B或C中獲取,而不再檢查條件。假設B和C都具有相同的方法簽名。在swift中加載動態類

這可能嗎?如果是的話,我們怎麼能做到這一點PS:使用swift。

回答

0

聽起來像您需要protocol

protocol myCustomProtocol { 
    func myCallBackFunction(); 
} 

class A : myCustomProtocol{ 

    func myCallBackFunction(){ 
     println("I AM A") 
    } 
} 

class B : myCustomProtocol{ 

    func myCallBackFunction(){ 
     println("I AM B") 
    } 
} 

class C{ 

    func doSomethingWithMyCustomProtocol(mcp : myCustomProtocol){ 
     mcp.myCallBackFunction(); 
    } 
} 

var myA = A(); 
var myB = B(); 
var myC = C(); 

myC.doSomethingWithMyCustomProtocol(myA); 
myC.doSomethingWithMyCustomProtocol(myB); 

//output: 
//I AM A 
//I AM B 
+0

我們需要檢查每一個閹我們需要傳遞MYA或MYB時間?我們可以避免這個嗎? – naresh