swift 在swift中使用特征和协议的演示。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift 在swift中使用特征和协议的演示。相关的知识,希望对你有一定的参考价值。
//: Playground - noun: a place where people can play
import Foundation
protocol PrimitiveSequenceType {
associatedtype Element
associatedtype TraitType
func append(item: Element)
}
struct PrimitiveSequence<Trait, E> {}
enum SingleTrait {}
enum MaybeTrait {}
extension PrimitiveSequence: PrimitiveSequenceType {
typealias Element = E
typealias TraitType = Trait
func append(item: E) {
print("append in E")
}
}
extension PrimitiveSequenceType where TraitType == SingleTrait {
func create() {
print("create:SingleTrait called");
}
}
extension PrimitiveSequenceType where TraitType == MaybeTrait {
func create() {
print("create:MaybeTrait called");
}
}
let single = PrimitiveSequence<SingleTrait, Int>()
let maybe = PrimitiveSequence<MaybeTrait, String>()
single.create()
maybe.create()
以上是关于swift 在swift中使用特征和协议的演示。的主要内容,如果未能解决你的问题,请参考以下文章
在 Swift 中对符合协议的对象和变量进行单元测试
swift 使用GCD和Swift锁定演示(游乐场)
如何在swift中使用视觉框架从其特征点中提取外唇
在 swift 中使用协议作为数组类型和函数参数
为啥我不能在 Swift 中使用 let in 协议?
Swift中协议的简单介绍