2015-08-03 70 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