協(xié)議的一致性

@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。

原文轉載

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 本章將會介紹 協(xié)議語法屬性要求方法要求(Method Requirements)Mutating 方法要求構造器要...
    寒橋閱讀 458評論 0 3
  • 轉至元數據結尾創(chuàng)建: 董瀟偉,最新修改于: 十二月 23, 2016 轉至元數據起始第一章:isa和Class一....
    40c0490e5268閱讀 2,053評論 0 9
  • 基礎部分(The Basics) 當推斷浮點數的類型時,Swift 總是會選擇Double而不是Float。 結合...
    gamper閱讀 1,493評論 0 7
  • 擴展 擴展就是向一個已有的類、結構體、枚舉類型或者協(xié)議類型添加新功能。這包括在沒有權限獲取原始源代碼的情況下擴展類...
    cht005288閱讀 525評論 0 0
  • 本文參考了Swift2.2與3.0的語法,在少數地方添加了自我理解與示例. 協(xié)議(Protocols) proto...
    果啤閱讀 941評論 0 1

友情鏈接更多精彩內容