swift中的动态类加载

时间:2015-08-03 11:32:40

标签: ios swift

我不确定这是否可行,但我的要求是从课堂上加载颜色说“A'但在内部,它将引用/创建B或C的对象,其中定义了实际方法。取决于某些条件A只会为B或C创建一次引用/对象。如果我在A上调用方法,那么我需要从B或C获取而不再检查条件。假设B和C都具有相同的方法签名。

这可能吗?如果是这样,我们怎么能实现这一点PS:使用swift。

1 个答案:

答案 0 :(得分: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