Swiftで私のクラスを以下のように作成しました。 Swiftの奇妙なオプションの動作
class Product: NSObject {
var product_id:Int?
var product_number:String?
var product_price:Float?
var product_descrption:String?
}
は今、私はこの
let p=Product()
p.product_id=1
p.product_price=220.22
p.productdescrption="Some description"
p.product_number="W2_23_233"
のように各プロパティに値を設定していますが、私は価格のため、その後の価格から値を取得するとき、私は「オプションの220.22」のような値を取得するしかし、私はしないでくださいフロートの値をアンラップするために 『!「私はを追加しました。だから、これを解決するために、』説明に追加単語「オプション」を取得するが、私はStrinのためにこれを行う必要はありませんでしたgなぜこれが起こっているのか教えてください。
あなたがその文字列のために使用している関数はどれもunwrapされていない値を必要としないので、値をnilにすることができる場合にのみ宣言する必要があります。使用しない場合は – Tj3n
'p.product_number'を印刷すると、' optional'でも印刷されます。 –
私はなぜ誰かがそれを投票した理由を理解していない。 –