如何修复 Swift 5.0 中的“无法使用类型为 '(MKMapRect)'' 的参数列表调用类型 'MKMapRect' 的初始化程序”错误

How to fix “Cannot invoke initializer for type 'MKMapRect' with an argument list of type '(MKMapRect)''” error in Swift 5.0

我正在使用 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' has been replaced by property 'MKMapRect.maxX'”

当我将语法更改为

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

我收到此错误消息

“Cannot invoke initializer for type 'MKMapRect' with an argument list of type '(MKMapRect)'”

我怎样才能得到这行代码运行?

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

你只是想要

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