Swift3 无法转换类型为';[(测量,[测量值]?]和#x27;关闭结果类型';(测量,[测量值])?&x27; 显示MeasurementsDb中的Measurements声明错误消息显示需要一个可选的元组(Measurement,[Measure

Swift3 无法转换类型为';[(测量,[测量值]?]和#x27;关闭结果类型';(测量,[测量值])?&x27; 显示MeasurementsDb中的Measurements声明错误消息显示需要一个可选的元组(Measurement,[Measure,swift3,Swift3,无法转换类型为';[(测量,[测量值]?]和#x27;关闭结果类型';(测量,[测量值])?&x27; 显示MeasurementsDb中的Measurements声明错误消息显示需要一个可选的元组(Measurement,[MeasurementValue])?,但传递了一个数组[(Measurement,[MeasurementValue])?]。基本上不注释编译器可以推断的类型。你能给我任何解决方案吗?首先回答Nirav的问题,然后删除类型注释。会发生什么? class f

无法转换类型为';[(测量,[测量值]?]和#x27;关闭结果类型';(测量,[测量值])?&x27;
显示MeasurementsDb中的Measurements声明错误消息显示需要一个可选的元组
(Measurement,[MeasurementValue])?
,但传递了一个数组
[(Measurement,[MeasurementValue])?]
。基本上不注释编译器可以推断的类型。你能给我任何解决方案吗?首先回答Nirav的问题,然后删除类型注释。会发生什么?
class func measurementsFromMeasurementsDB(_ measurementsDB: [CIMeasurement]) -> [(Measurement, [MeasurementValue])] {

    var measurements: [(Measurement, [MeasurementValue])?] = measurementsDB.map {return measurementsFromMeasurementsDB([($0)])}

    measurements = measurements.filter {$0 != nil}
    return measurements.map {return $0!}
}