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