У меня есть существующая кодовая база, которая была написана в 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 для этого используется другая функция или синтаксис, но я не могу исправить эту ошибку.