[英]How to extend a protocol in Swift
在Swift中,我們如何定義擴展或專門化基本協議的協議? 文檔似乎沒有說清楚。
還不清楚,Swift協議是否符合/擴展NSObject協議? 這是一個有趣的問題,因為它會暗示Swift是否使用vtable或基於消息的調度來調用協議方法。
協議繼承使用Swift中的常規繼承語法。
protocol Base {
func someFunc()
}
protocol Extended : Base {
func anotherFunc()
}
默認情況下,Swift協議不符合NSObjectProtocol。 如果確實選擇使協議符合NSObjectProtocol,則會將協議限制為僅用於類。
語法與聲明從超類繼承的類相同。
protocol SomeProtocol { }
protocol SomeOtherProtocol: SomeProtocol { }
不,他們沒有。 如果您希望協議也符合NSObjectProtocol,您可以為新協議提供多種協議以符合這樣的要求。
protocol SomeOtherProtocol: SomeProtocol, NSObjectProtocol { }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.