if let mathematicalSymbol = sender.currentTitle {
brain.performOperation(mathematicalSymbol)
}
Код ошибки содержит нижеприведенную ошибку;Дополнительная ошибка привязки к Swift 2.2?
Значение необязательного типа 'String?' не разворачивается; вы имели в виду использовать '!' или '?'?
Как видно на этом снимке экрана;
sender.currentTitle
является необязательным.
Вот выдержка из «The Swift Programming Language (Swift 2.2)» от Apple под кодом примера чуть ниже нее;
Если необязательное значение
nil
, условный этоfalse
и код в фигурных скобках пропускаются. В противном случае, необязательное значение развернутого и назначен постоянный послеlet
, что делает развернутого значения доступного внутри блока кода.
Вот пример кода для этой выдержки;
var optionalName: String? = "John Appleseed"
var greeting = "Hello!"
if let name = optionalName {
greeting = "Hello, \(name)"
}
Так по этим причинам, я имею в виду, что либо я что-то отсутствует или что я удара об ошибке.
Я также пробовал что-то подобное на игровой площадке и не получал подобной ошибки;
Вот мой Swift версия;
Apple Swift version 2.2 (swiftlang-703.0.18.8 clang-703.0.31)
Target: x86_64-apple-macosx10.9
Возможно, связанные с: [Странное поведение Свифта AnyObject] (http://stackoverflow.com/questions/33388830/the-strange-behaviour-of-swifts-anyobject). –