ios – 如何在Swift中传递Type作为参数

前端之家收集整理的这篇文章主要介绍了ios – 如何在Swift中传递Type作为参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个对象字典,我想要做的是遍历数据集并返回符合给定协议的对象数组.我遇到了传递所需协议的语法问题:
func getObjectsThatConformTo<T>(conformance: T.Type) -> [AnyClass]{
  var returnArray: [AnyClass] = []
  for(myKey,myValue) in allCreatedObjects{
    if let conformantObject = myValue as? conformance{
      returnArray.append(conformantObject)
    }
  return returnArray
}

我看到的错误是“一致性”不是一种类型

谢谢你的帮助和时间

解决方法

我认为这应该有效:
func getObjectsThatConformToType<T>(type:T.Type) -> [T]{
    var returnArray: [T] = []
    for(myKey,myValue) in allCreatedObjects{
        if let comformantModule = myValue as? T {
            returnArray.append(comformantModule)
        }
    }
    return returnArray
}

猜你在找的iOS相关文章