Function 带有AnyObject的泛型函数失败

Function 带有AnyObject的泛型函数失败,function,generics,swift,Function,Generics,Swift,我试图使用一个通用函数,但是我遇到了一个分段错误 我希望通过创建一个通用函数来处理所有结果,从而简化RestKit结果的处理。该函数实质上将结果数组强制转换为所需类型,并调用回调 这是密码 class func handleRestkitResult<T:AnyObject>(mappingResult:RKMappingResult!,callback:([T])->Void){ var resultArray = mappingResult.array();

我试图使用一个通用函数,但是我遇到了一个分段错误

我希望通过创建一个通用函数来处理所有结果,从而简化RestKit结果的处理。该函数实质上将结果数组强制转换为所需类型,并调用回调

这是密码

class func handleRestkitResult<T:AnyObject>(mappingResult:RKMappingResult!,callback:([T])->Void){
    var resultArray = mappingResult.array();

    if (resultArray is [T]){
        callback(resultArray as [T])
    }
}
似乎没有错误。但是当我运行它时,我会得到一个分段默认值,它是handleRestkitResult

特别是AnyObject部分。然而,如果我删除它,我会得到一个警告,T不符合任何对象

我是不是遗漏了什么

我知道有一种方法,我可以将类/类型的名称作为字符串传递,并执行某种魔法。但我还是想知道这里出了什么问题


谢谢:

你试过了吗?我试过了。但是由于mappingResult.array返回[AnyObject],我在if语句中得到一个错误,说类型“T”不符合协议“AnyObject”