0
我不確定這是否可行,但我的要求是從類加載顏色,如'A',但內部它將引用/創建一個對象B或C,其中實際方法是定義。取決於某些條件A將僅爲B或C創建引用/對象一次。如果我在A上調用方法,那麼我需要從B或C中獲取,而不再檢查條件。假設B和C都具有相同的方法簽名。在swift中加載動態類
這可能嗎?如果是的話,我們怎麼能做到這一點PS:使用swift。
我不確定這是否可行,但我的要求是從類加載顏色,如'A',但內部它將引用/創建一個對象B或C,其中實際方法是定義。取決於某些條件A將僅爲B或C創建引用/對象一次。如果我在A上調用方法,那麼我需要從B或C中獲取,而不再檢查條件。假設B和C都具有相同的方法簽名。在swift中加載動態類
這可能嗎?如果是的話,我們怎麼能做到這一點PS:使用swift。
聽起來像您需要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
我們需要檢查每一個閹我們需要傳遞MYA或MYB時間?我們可以避免這個嗎? – naresh