Swift 无法调用';地图';具有类型为';([AnyObject]、(->;u->;&x27;
我在swift 1中写了这样一个方法:Swift 无法调用';地图';具有类型为';([AnyObject]、(->;u->;&x27;,swift,swift2,xcode7,Swift,Swift2,Xcode7,我在swift 1中写了这样一个方法: public var array: [JSON]? { get { if self.type == .Array { return map(self.object as! [AnyObject]){ JSON($0) } } else { return nil } } } 当我安装Xcode 7.2(swift 2)时,此方法会给
public var array: [JSON]? {
get {
if self.type == .Array {
return map(self.object as! [AnyObject]){ JSON($0) }
} else {
return nil
}
}
}
当我安装Xcode 7.2(swift 2)时,此方法会给我如下错误:
public var array: [JSON]? {
get {
if self.type == .Array {
return map(self.object as! [AnyObject]){ JSON($0) }
} else {
return nil
}
}
}
无法使用类型为“([AnyObject],()->”的参数列表调用“map”
现在我想知道问题出在哪里?不要使用强制强制强制转换,在数组上调用
map
,因为函数已在Swift 2中移动
return (self.object as? [AnyObject])?.map{ JSON($0) }
尝试返回(self.object as![AnyObject])。map{JSON($0)}@RamkrishnaSharma您确定这是正确的吗?请查看链接