协议的一致性

2017-06-04  本文已影响16人  George2016
@objc protocol HasArea {
    var area: Double { get }
    @objc optional var username: String? {get set}
    
    @objc optional func getControllerData(isRefresh: Bool) -> Void
}

注意: @objc用来表示协议是可选的,也可以用来表示暴露给Objective-C的代码,此外,@objc型协议只对有效,因此只能在类中检查协议的一致性。

协议前有@objc修饰:<br />1. 协议里面的属性或方法可以声明为optional。<br />2. 协议只能被类遵循。

协议前面没有@objc修饰:<br />1. 该协议可以被类、结构体和枚举遵循。<br />2. 协议里面的方法不能声明为optional。

原文转载

上一篇 下一篇

猜你喜欢

热点阅读