2017-07-29 8 views
0

だから私は、私はウェブサイトからコピーしてるの支払いを処理するためにいくつかのコードを持っている:処理の支払いコードではなく、必ず同等

if self.expireDateTextField.text.isEmpty == false { 
    let expirationDate = self.expireDateTextField.text.componentsSeparatedByString("/") 
    let expMonth = UInt(expirationDate[0].toInt()!) 
    let expYear = UInt(expirationDate[1].toInt()!) 

私はtoInt()が削除された知っているが、何をすること上記のコードに相当する?

答えて

0

toInt()のスウィフト3同等のは、単純にInt()次のとおりです。あなたの場合は

let expMonth = UInt(Int(expirationDate[0])!)! 
let expYear = UInt(Int(expirationDate[1]!))! 

が、私はコード内の2つの改良になるだろう。まず、2回変換していますが、これは必ずしも必要ではありません。UInt()のみを使用することができます。

第2に、簡単にクラッシュする可能性があるため、暗黙的にアンラップしないことを検討することがあります。

guard let expMonth = UInt(expirationDate[0]), 
    let expYear = UInt(expirationDate[1]) else { 
    print("Error in expiration casting") 

    return 
} 
関連する問題