没有特定类型或协议实现的属性。在委托上调用方法时,任何事情都会发生 - 编译器会相信你,如果它可以看到方法存在于某个地方,运行时将检查你是否在说谎
我想在swift中这样做
@property (nonatomin,strong)id delegate;
不像协议实现
@property (nonatomin,strong)id <protocol> delegate;
答案 0 :(得分:0)
以下是如何在swift中定义协议和委托:
您可以随时随地定义协议。例如:
protocol DemoProtocol{
func doSomething(str: String){
//Do Something when delegate fires
}
}
以下是如何在需要调用委托的任何类中定义委托:
//Protocol Delegate
var delegate:DemoProtocol?
如何致电委托?
在任何一个类中:
delegate.doSomething("Delegate Called")
之后,您需要对任何类实现protocol
:
class Demo: DemoProtocol, UIViewController{
//Here you will implement protocol method:
func doSomething(str: String){
//Do Something when delegate fires
}
}