如何解决“无法使用类型为(MKMapRect)的参数列表调用类型为'MKMapRect'的初始化程序”的问题,在Swift 5.0中出现

时间:2019-07-06 23:28:25

标签: ios swift xcode mapkit

我正在使用Apple的Footprint: Indoor Positioning with Core Location sample code来构建移动应用程序。这段代码在Swift 3.0中,我正在将其转换为Swift 5.0语法。 当我运行此Swift 3.0代码时,

 var corners =  [MKMapPoint(x: MKMapRectGetMaxX(MKMapRect.world), y: MKMapRectGetMaxY(MKMapRect.world))]
    return HideBackgroundOverlay(points: &corners, count: corners.count)

我收到此错误。

  

“'MKMapRectGetMaxX'已由属性'MKMapRect.maxX'”代替

当我将语法更改为

var corners =  [MKMapPoint(x: MKMapRect(MKMapRect.world).MaxX, y: MKMapRectGetMaxY(MKMapRect.world)),

我收到此错误消息

  

“无法使用类型为((MKMapRect)''的参数列表来调用类型为“ MKMapRect”的初始化程序”

如何使这行代码运行?

1 个答案:

答案 0 :(得分:0)

MKMapRect.world已经是MKMapRect的实例;无需将其包装在MKMapRect初始化程序中。

您只是想要

var corners =  [MKMapPoint(x: MKMapRect.world.MaxX, y: MKMapRect.world.maxY)]