Sie können keine Instanz Protokoll erstellen.
Zum Beispiel
protocol ITransmitter {
func onExecuteSuccess(data:String)
}
var protocolInstance : ITransmitter = ITransmitter() // << Not allowed. This is an error
Aber wie Sie ein Objekt in Ihrem Code-Protokoll als einzige Art beziehen können. Nehmen wir an, Sie haben eine Klasse, die diesem Protokoll entspricht, aber in Ihrem Code besteht Ihre Anforderung nur darin, die Protokollmethode darauf aufrufen zu können, und Sie interessieren sich nicht für andere Methoden, die die Instanz der Klasse unterstützt.
Für Beispiel-
class A{
func foo(){
}
}
extension A : ITransmitter{
func onExecuteSuccess(data:String){
//Do stuff here
}
}
//This function wants to run the ITransmitter objects, so it uses only protocol //type for its argument. The transmitter can be of any class/struct, but has to //conform to ITransmitter protocol
func runTransmittor(transmitter : ITransmitter){
//some other statements here..
transmitter. onExecuteSuccess(data :SomeData){
}
}
gut wir etwas wie das var callHandler tun können: CallsHanlerProtocol = CallHandler() –