簡體   English   中英

在iOS Swift中擴展協議時,為什么需要提供方法實現?

[英]Why do I need to provide method implementation when I extend a protocol in iOS Swift?

我想擴展一些協議,同時編寫代碼編譯器會引發錯誤: please provide implementation of method 但是為什么我必須提供協議方法的實現? 這應該在符合該協議的類中完成。

extension MyDelegate { 
    func addNewMethod() { } 
} 

protocol MyDelegate { 
     func myMethod() 
}

根據文檔 ,似乎協議擴展只存在於給現有協議默認的方法實現上,因此,並非每個使用該協議的類都必須實現相同的方法並具有相同的主體,從而為您節省了很多復制粘貼,排序類似於協議的靜態/類函數

聽起來您不想要擴展,而是原始協議中的可選功能

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM