Swift:如何要求一个协议只能由一个特定的类来实现

Swift:如何要求一个协议只能由一个特定的类来实现,第1张

概述我想要这个协议: protocol AddsMoreCommands { /* ... */} 只能被继承自类UIViewController的类所采用. This page告诉我,我可以指定它只被一个类(而不是一个结构体)通过写入来采用 protocol AddsMoreCommands: class {} 但我看不到如何要求它只被特定的类使用. That page later谈到 我想要这个协议:
protocol AddsMoreCommands {     /* ... */}

只能被继承自类UIVIEwController的类所采用. This page告诉我,我可以指定它只被一个类(而不是一个结构体)通过写入来采用

protocol AddsMoreCommands: class {}

但我看不到如何要求它只被特定的类使用. That page later谈到在协议扩展中添加where子句以检查一致性,但是我看不出如何适应这一点.

extension AddsMoreCommands where /* what */ {}

有没有办法做到这一点?
谢谢!

protocol AddsMoreCommands: class {    // Code}extension AddsMoreCommands where Self: UIVIEwController {    // Code}
总结

以上是内存溢出为你收集整理的Swift:如何要求一个协议只能由一个特定的类来实现全部内容,希望文章能够帮你解决Swift:如何要求一个协议只能由一个特定的类来实现所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1028499.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存