是否可以执行以下操作:
protocol A: class {
typealias T: AnyObject
}
extension A {
func testA(a:Self, _ t:T)->Void{
print(a, t)
}
}
class B:A {
typealias T = String
}
换句话说,我有协议,并希望在符合它的类中提供具体类型。
答案 0 :(得分:0)
那应该没问题。您所拥有的代码唯一的问题是String
不是AnyObject
。
你只需要:
protocol A: class {
typealias T
}
extension A {
func testA(a:Self, _ t:T)->Void{
print(a, t)
}
}
class B:A {
typealias T = String
}