如何在swift中以specfic类型声明委托方法?

时间:2016-01-08 10:03:45

标签: swift

没有特定类型或协议实现的属性。在委托上调用方法时,任何事情都会发生 - 编译器会相信你,如果它可以看到方法存在于某个地方,运行时将检查你是否在说谎

我想在swift中这样做

@property (nonatomin,strong)id delegate;

不像协议实现

@property (nonatomin,strong)id <protocol> delegate;

1 个答案:

答案 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
    }
}