swift – 协议中的嵌套类型
发布时间:2020-12-14 05:20:56 所属栏目:百科 来源:网络整理
导读:可以在协议中声明嵌套类型,如下所示: 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 } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |