【发布时间】:2019-08-09 10:09:43
【问题描述】:
如何返回关联类型的协议?
protocol AProtocol {
}
class A: AProtocol {
}
class Main {
func sendA() -> AProtocol {
return A()
}
}
它有效。
但是
protocol BProtocol {
associatedtype B
}
class B: BProtocol {
typealias B = Int
}
class Main {
func sendA() -> AProtocol {
return A()
}
func sendB() -> BProtocol { // error
return B()
}
// function1
func sendB_<T: BProtocol>() -> T{
return B() as! T
}
}
我想在函数 1 中返回 'return B()' 有可能吗?
【问题讨论】:
-
改成返回
B?
标签: ios swift generics protocols