iOS開発が初めてです。私はSwiftの以前のバージョンを使用しているビデオチュートリアルを見てこのプロジェクトを行っていますが、私はSwiftを使用しています。スイフト3:ラベルに設定する前にオプションで自動的にオプションのラップを解除することはできません。
私はこの問題に遭遇しました。 2つのオプションの整数は、計算に使用されるときにラップ解除されます。しかし、テキストがラベルに与えられたときにはラップされません。
ラベルにテキストが付いていて、それが機能したときに再度アンラッピングしようとしました。なぜそれは奇妙な行動ですか?
var leftNumber: Int!
var rightNumber: Int!
func generateProblem() {
leftNumber = generateRandomNumber()
rightNumber = generateRandomNumber()
// The problem is here
problemLabel.text = "\(leftNumber) x \(rightNumber)"
}
func generateRandomNumber() -> Int {
return Int(arc4random_uniform(UInt32(9))) + 1
}
シミュレータのスクリーンショット:がそれをを必要とすることが暗黙のコンテキストでアンラップすることを除いて
http://stackoverflow.com/a/39584551/2303865 –
文字列補間を行う前に、あなたのvarをラップする必要があります。 https://github.com/apple/swift-evolution/blob/master/proposals/0054-abolish-iuo.md ImplicitlyUnwrappedOptional型を無効にしてください。 –
@LeoDabusですが、ウェブ上のチュートリアルでは '!'は自動的にアンラップされると言っています。 – Marat