swift – 协议中的嵌套类型

swift – 协议中的嵌套类型,第1张

概述可以在协议中声明嵌套类型,如下所示: protocol nested{ class nameOfClass { var property: String { get set } }} Xcode表示“类型不允许在这里”,所以,如果我想创建一个需要嵌套类型的协议,这是不可能的,或者我可以这样做吗? 协议不需要嵌套类型,但它可能需要符合另一协议的关联类型.实现可以 可以在协议中声明嵌套类型,如下所示:
protocol nested{    class nameOfClass {        var property: String { get set }    }}

Xcode表示“类型不允许在这里”,所以,如果我想创建一个需要嵌套类型的协议,这是不可能的,或者我可以这样做吗?

协议不需要嵌套类型,但它可能需要符合另一协议的关联类型.实现可以使用嵌套类型或类型别名来满足此要求.
protocol Inner {    var property: String { get set }}protocol Outer {    associatedtype nested: Inner}class MyClass: Outer {    struct nested: Inner {        var property: String = ""    }}struct Notnested: Inner {    var property: String = ""}class MyOtherClass: Outer {    typealias nested = Notnested}
总结

以上是内存溢出为你收集整理的swift – 协议中的嵌套类型全部内容,希望文章能够帮你解决swift – 协议中的嵌套类型所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/web/1028195.html

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

发表评论

登录后才能评论

评论列表(0条)

保存