'MKMapRectIsNull' 已替换为 属性 'MKMapRect.isNull'

'MKMapRectIsNull' has been replaced by property 'MKMapRect.isNull'

所以在更新到 Xcode 10 和 Swift 4.2 时,当然我不得不在我的项目中做很多更改来更新语法。除了一个问题,我能够纠正所有问题。我收到一条错误消息:'MKMapRectIsNull' 已被 属性 'MKMapRect.isNull' 替换。我做了一件显而易见的事情,尝试用 MKMapRect.isNull 替换 MKMapRectIsNull,但这会产生另一个错误:Instance成员 'isNull' 不能用于类型 '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)

任何 ideas/help 将不胜感激。

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

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