我正在使用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)]
关于ios - 如何修复 Swift 5.0 中的 “Cannot invoke initializer for type ' MKMapRect' with an argument list of type '(MKMapRect)' '” 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56918320/