如何修复 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)]
我正在使用 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)]