@objc protocol HasArea {
var area: Double { get }
@objc optional var username: String? {get set}
@objc optional func getControllerData(isRefresh: Bool) -> Void
}
注意:
@objc用來表示協(xié)議是可選的,也可以用來表示暴露給Objective-C的代碼,此外,@objc型協(xié)議只對類有效,因此只能在類中檢查協(xié)議的一致性。
協(xié)議前有@objc修飾:<br />1. 協(xié)議里面的屬性或方法可以聲明為optional。<br />2. 協(xié)議只能被類遵循。
協(xié)議前面沒有@objc修飾:<br />1. 該協(xié)議可以被類、結構體和枚舉遵循。<br />2. 協(xié)議里面的方法不能聲明為optional。