我正在尝试使用通用函数,但我遇到了分段错误。
我想通过创建一个通用函数来处理我的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。
我在这里错过了什么吗?
我知道有一种方法可以将类/类型的名称作为字符串传递,并做一些魔术。但我仍然想知道这里出了什么问题。
谢谢:)