ios - Swift:通用类型符合协议(protocol)

标签 ios swift generics request protocols

我对通用类型有一些疑问。我想检查泛型类型是否符合某些协议(protocol)并在传递给另一个泛型函数之后。例如我有功能:

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。

如果传递 ma​​ppableType - 它不是类型

最佳答案

您可以将 T 定义为 Mappable,就像您在第一个函数中所做的那样。

func request<T: Mappable>

关于ios - Swift:通用类型符合协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39376172/

相关文章:

ios - 如何从 iPad/iPhone 检索使用 os_log 记录的消息?

ios - 一起水平滚动 UICollectionView 的所有行

swift - 使用 Swift/Xcode 重新打开应用程序时保持按钮状态

ios - 苹果会拒绝我的应用程序告诉他们可以注册到该网站吗?

ios - 当我在搜索栏中键入以检索 Google 图书信息时,我的表格 View 没有重新加载

swift - 从 PFGeoPoint 中获取纬度/经度

ios - 将图像添加到 mask 层(CALayer)内的按钮?

java - 在 Java 中使用泛型存储公共(public)父类(super class)型

swift - 将函数泛型参数约束为关联类型

c# - 如何实现一个通用的c#接口(interface)