例如:
protocol NodeType {}protocol EdgeType { var fromNode: NodeType var toNode: NodeType}
问题是两个节点可能是实现协议NodeType的不同结构类型
在一个完美的世界里,我需要这个:
protocol EdgeType<T: NodeType> { var fromNode: T var toNode: T}
确保两个节点都是相同的类或结构类型
这样的事情目前可能很快吗?
提前致谢
protocol NodeType {}protocol EdgeType { associatedtype Node: NodeType var fromNode: Node { get } var toNode: Node { get }}
然后,您可以通过指定具体的NodeType实现来符合EdgeType:
struct MyNode: NodeType {}struct MyEdge: EdgeType { associatedtype Node = MyNode var fromNode: MyNode { return MyNode() } var toNode: MyNode { return MyNode() }}总结
以上是内存溢出为你收集整理的ios – 如何在swift中创建依赖的通用协议全部内容,希望文章能够帮你解决ios – 如何在swift中创建依赖的通用协议所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)