2015-08-03 2 views
0

Я не уверен, что это возможно или нет, но мое требование - загрузить цвета из класса say 'A', но внутренне оно будет ссылаться/создавать объект для B или C, где фактические методы определить. зависит от некоторого условия A будет создавать ссылки/объект для B или C только один раз. если я вызываю метод на A, тогда мне нужно получить от B или C, не проверяя условие снова. если оба B и C имеют одинаковые сигнатуры метода.Загрузка динамического класса в swift

Возможно ли это? если да, то как мы можем достичь этого. PS: использовать быстро.

ответ

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

Смежные вопросы