如何解决类如何知道关联类型?
UIViewRepresentable
有...
associatedtype Coordinator = Void
func makeCoordinator() -> Coordinator {
Coordinator(self)
}
class Coordinator: NSObject,MKMapViewDelegate {
...
}
如果我添加...
typealias Coordinator = Self.Coordinator
编译器说...
无效的“协调人”声明
...指的是嵌套类。
那么Coordinator = Void
是什么意思,为什么定义嵌套类指定关联类型?它是根据makeCoordinator
的返回类型推断出来的吗?为什么不让我另外使用typealias Coordinator = Self.Coordinator
明确指定它?
解决方法
那么,Coordinator = Void是什么意思?为什么定义嵌套类指定关联类型?
Coordinator = Void
表示协调器是可选的,没有协调器即可以表示。 Void
是默认类型。
它是从makeCoordinator的返回类型推断出来的吗?
是的。
为什么不让我另外使用typealias Coordinator = Self.Coordinator明确指定它?
因为typealias
引入了新类型,但是在这里您想要Coordinator = Coordinator
,因此编译器报告重复。如果您愿意,可以将其介绍为
typealias OneMoreCoordinator = Self.Coordinator
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。