Инструмент Swift's Fix It жалуется, что требуется восклицательный знак. После вставки одного из них он жалуется, что его нужно удалить. Какое правильное использование «?» а также "!" для этого кода ?!Компилятор ошибок «Fix It» Swift - Опция
var debugLabel : SKLabelNode!
override func update(currentTime: NSTimeInterval) {
debugLabel!.text = "Ang: \(getFormattedNum(ball.physicsBody?.angularVelocity!))"
}
func getFormattedNum(num:CGFloat) ->String {
var formatter = NSNumberFormatter()
formatter.numberStyle = NSNumberFormatterStyle.DecimalStyle
return formatter.stringFromNumber(num)!
}
override func didMoveToView(view: SKView) {
super.didMoveToView(view)
debugLabel = childNodeWithName("deBugger") as SKLabelNode
...
}
Место Фикс Он переключая назад и вперед, это восклицательный знак в конце этого свойства в FUNC обновление: ball.physicsBody .angularVelocity!
С! или ? ошибка: «Операнд постфикса! должен иметь необязательный тип, тип -« CGFloat ».
Без дополнительного индикатора ошибка« Значение дополнительного типа »CGFloat?» не разворачивается ...
Обратите внимание, что «deBugger» - это имя метки в sks.
мяч является ColorSprite на SKS определяется как: \t вар мяч \t \t \t: SKSpriteNode! – RickW
'angularVelocity' объявляется как' var angularVelocity: CGFloat' согласно документации Apple, поэтому восклицательный знак не нужен. – NobodyNada
Спасибо, но почему Xcode говорит мне, что это так? Я объявляю что-то не так? – RickW