1.協議總是以var關鍵字來聲明變量屬性。聲明后面跟了{get set} 就表示可讀可寫,只跟來{get} 就表示可讀的。
2.1不支持為方法中的參數提供默認值
2.2 當為類提供構造方法時,實現的類必須在方法前加上 required關鍵字,而且對于這個類的子類,如果重寫類這個構造方法,還得加上override
2.3 協議可以作為類型,好比oc里面的id<protocol> delegate
3.通過擴展遵循協議,如果類型已經實現完全實現協議的方法,但沒有聲明遵循協議,可以通過空擴展體的擴展來遵循協議。就是a: protocalb {}
4.協議要只能被類遵循,需要在協議冒號后面加class
5.多個協議的合成是可以作為參數的,用符合(&)相隔
6.通過is和as檢查類型對于協議是否符合遵循。
7.加optional修飾的屬性或者方法,表示可選,可選是用在和oc進行交流時,需要在協議前加@objc
協議
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
推薦閱讀更多精彩內容
- 本章將會介紹 協議語法屬性要求方法要求(Method Requirements)Mutating 方法要求構造器要...