Как исправить «тип выражения« @lvalue CGRect / CGSize »неоднозначен без дополнительного контекста»? - PullRequest
0 голосов
/ 31 января 2019

У меня есть существующая кодовая база, которая была написана в Swift 3 и Xcode 9, что у меня возникают проблемы при переходе на Xcode 10 и Swift 4.2 из-за ошибок сборки в коде.

Проблема, с которой я сейчас сталкиваюсь, заключается в следующем:

"Тип выражения '@lvalue CGRect' неоднозначен без дополнительного контекста"

Яполучить эту ошибку в 3 разных областях моего кода.Четвертый связан, но отличается тем, что гласит:

«Тип выражения» (CGSize) -> CGSize «неоднозначен без дополнительного контекста»

Я пыталсяизменение всех значений в выражении для явного использования типа данных CGFloat для удаления любых предполагаемых ошибок типов данных, и это по-прежнему не решает проблему.

 override func sizeThatFits(_ size: CGSize) -> CGSize {
    let adjustedHeight = 8.0 + titleLabel.frame.height + 2.0 + underlineView.frame.height
    adjustedHeight += 16.0 + mapImageView.frame.height + 16.0
    return CGSize(width: bounds.width, height: adjustedHeight)
}

override func sizeThatFits(_ size: CGSize) -> CGSize {
    let adjustedHeight = 10.0 + titleLabel.frame.height + 15.0 + daysRoundedView.frame.height
    adjustedHeight += daysTextLabel.frame.height + 10.0 + logoImageView.frame.height + 20.0
    return CGSize(width: size.width, height: adjustedHeight)
}

override func sizeThatFits(_ size: CGSize) -> CGSize {
    let adjustedHeight = 8.0 + titleLabel.frame.height + 2.0
    adjustedHeight += underlineView.frame.height + 16.0 + flyerImageView.frame.height + 16.0
    return CGSize(width: bounds.width, height: adjustedHeight)
}

override func sizeThatFits(_ size: CGSize) -> CGSize {
    let adjustedHeight = 8.0 + titleLabel.frame.height + 2.0 +  underlineView.frame.height + 16.0
    adjustedHeight += descriptionTextView.sizeThatFits(CGSize(width: size.width - 40, height: size.height)).height + 16.0
    return CGSize(width: bounds.width, height: adjustedHeight)
}

Проблема связана с переменной Скорректированная величина.Я не уверен, что в Swift 4.2 для этого используется другая функция или синтаксис, но я не могу исправить эту ошибку.

1 Ответ

0 голосов
/ 31 января 2019

Одна из проблем заключается в том, что adjustedHeight является разрешением, но оно изменяется в следующей строке с помощью оператора +=.Исправлена ​​ли проблема после изменения adjustedHeight на var?

...