Недавно я обновил свой Xcode 6 beta 6 до Xcode 6 beta 7, и внезапно части моего кода не компилируются. У меня есть эта функция в моем коде, которая дает мне ошибку Связанное значение в условной привязке должно быть опционного типа на линии if let layoutManager = textView.layoutManager
.Получение «необязательной ошибки» после обновления Xcode 6 beta 6 до бета-версии 7
func textTapped(recognizer: UITapGestureRecognizer){
self.textHasBeenTapped = true
if let textView = recognizer.view as? UITextView{
if let layoutManager = textView.layoutManager {
// rest of code
}
}
Я попытался сделать TextView дополнительный тип, как показано ниже (который удаляет первоначальную ошибку), но вместо этого он дает ошибку Значение дополнительного типа "CGFloat? не разворачивается; вы хотели использовать '!' или '?'? на линии location.x = textView?.textContainerInset.left
. Если я вставляю либо !
, либо ?
после left
, он вместо этого дает мне ошибку: Операнд постфикса '!' должен иметь необязательный тип; type is 'CGFloat', предполагающий, что я должен удалить либо '!' или '?' тем самым делая своего рода цикл ошибок.
func textTapped(recognizer: UITapGestureRecognizer){
self.textHasBeenTapped = true
if let textView: UITextView? = recognizer.view as? UITextView{
if let layoutManager = textView?.layoutManager {
var location: CGPoint = recognizer.locationInView(textView)
location.x = textView?.textContainerInset.left
// rest of code
}
}
}
Какой был бы лучший способ исправить эту проблему?