ios - 如何修复 Swift 5.0 中的 “Cannot invoke initializer for type ' MKMapRect' with an argument list of type '(MKMapRect)' '” 错误

标签 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' 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/

相关文章:

ios - Xcode 6.0/6.1 和使用客户端配置文件构建

iphone - iOS+ Parse.com : kPFCachePolicyCacheThenNetwork, 两次获取数据

ios - 滚动旋转时 UICollectionView 崩溃(索引路径处补充项目的布局属性已更改但未失效..)

arrays - 如何通过特定字符分隔 Swift 3 中的字符串

ios - 用于 2 个 TableViews/Segmented Control Swift 的自定义单元格

xcode - ios-charts 的水平条形图

ios - iOS 上保存的视频过滤

ios - 核心数据 - 无法获取,不先插入

ios - 如何在 didDetermineState 方法中打开应用程序

swift - 如何使 View 集合并立即将其转角更改为圆角?