我对泛型类型有一些问题。我想检查泛型类型是否符合某些协议,并在传递给另一个泛型函数之后。例如,我有功能:
func requestSignal<T:Mappable>(target:Api) -> SignalProducer<[T], NSError>
我想做这样的事情:
func request<T>(target:Api, withObjectType type: T.Type) {
if let mappableType = type as? Mappable.Type {
let requestSignal: SignalProducer<[?????], NSError> = self.requestSignal(target) }
但如果我尝试传递 T - 它不符合Mappable。
如果传递 mappableType - 它不是类型
答案 0 :(得分:6)
您可以将T定义为Mappable,就像在第一个函数中一样。
func request<T: Mappable>