AnyObject的通用函数失败

时间:2014-12-05 21:42:14

标签: function generics swift

我正在尝试使用通用函数,但我遇到了分段错误。

我想通过创建一个通用函数来处理我的RestKit结果来简化它。该函数基本上将结果数组转换为所需类型,并调用回调。

这是代码

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

    if (resultArray is [T]){
        callback(resultArray as [T])
    }
}

似乎没有错误。但是当我运行它时,我得到一个分段默认值,它是handleRestkitResult<T:AnyObject>

特别是AnyObject部分。但是,如果我删除它,我会收到一条警告:T不符合AnyObject。

我在这里错过了什么吗?

我知道有一种方法可以将类/类型的名称作为字符串传递,并做一些魔术。但我仍然想知道这里出了什么问题。

谢谢:)

0 个答案:

没有答案