3

因此,在更新到 Xcode 10 和 Swift 4.2 时,当然我必须在我的项目中进行大量更改以更新语法。我能够纠正除一个之外的所有问题。我收到一条错误消息:'MKMapRectIsNull' 已替换为属性 'MKMapRect.isNull'。我做了显而易见的事情,尝试用MKMapRect.isNull替换MKMapRectIsNull,但这会产生另一个错误,上面写着:Instance member 'isNull' cannot be used on type 'MKMapRect'。这里有一些更多的上下文:

var zoomRect = MKMapRect.null
    for annotation in map.annotations {
        let annotationPoint = MKMapPoint(annotation.coordinate)
        let pointRect = MKMapRect(x: annotationPoint.x, y: annotationPoint.y, width: 0, height: 0)
        if (MKMapRect.isNull(zoomRect)) {
            zoomRect = pointRect
        } else {
            zoomRect = zoomRect.union(pointRect)
        }
    }
    map.setVisibleMapRect(zoomRect, edgePadding: UIEdgeInsets(top: 40, left: 40, bottom: 40, right: 40), animated: true)

任何想法/帮助将不胜感激。

4

1 回答 1

5

对于if (MKMapRect.isNull(zoomRect))您需要将其更改为的条件if (zoomRect.isNull)

您无法检查MKMapRect类型的条件,只能检查该类型的实例化对象。

于 2018-09-19T22:53:10.603 回答