0
通常、整数を含む文字列をBool
の値に変換する必要があります。ルールはtrue
またはゼロ以外の値を取得することです。しかし、無効な数字はfalse
になります。 stringValue
が空であるならば、Int()
機能がnil
を返すため、動作しないこと、しかしSwift 3:数値文字列をBoolに変換し、無効な値に対してfalseを返す
let stringValue = "1"
let boolValue = Int(stringValue) != 0
、それは不平等である:文字列は常に有効な数字だったら
、コードは次のようになります0にすると、結果はが必要なときにtrue
になります。
とは何ですか? Swift 3でこの問題を解決する方法はありますか?私はif
句で余分な行を避けるのが好きです。
注:文字列にtrue
の値が「1」しかない場合は、== 1
のテストが答えになります。しかし、私はtrue
の他の非ゼロ値も許可したい。言い換えれば、0以外の有効な数字をtrue
にすることが好きです。
ああ、うわー。私はそのオペレータについて知らなかった。私は本当に努力をして、スワイフ3の仕様全体を読むべきではありません:)(やるべきことがたくさんありますが、少し時間がかかります!) –