Swift 无法调用';地图';具有类型为';([AnyObject]、(->;u->;&x27;

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)时,此方法会给

我在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
         }
     }
}
无法使用类型为“([AnyObject],()->”的参数列表调用“map”


现在我想知道问题出在哪里?

不要使用强制强制强制转换,在数组上调用
map
,因为函数已在Swift 2中移动

return (self.object as? [AnyObject])?.map{ JSON($0) }

尝试返回(self.object as![AnyObject])。map{JSON($0)}@RamkrishnaSharma您确定这是正确的吗?请查看链接