将Textfield字符转换为int

时间:2017-03-02 19:44:47

标签: swift

我已经知道你可以将textfield转换为int来执行此操作:

 var textNumber : Int = Int(numbers.text)!

问题是,我试图转换每个角色,这样做:

for number in numbers.text.characters
{
    let number : Int = Int(number)
}

但是当我尝试这样做时,我得到Cannot invoke initializer for type 'Int' with an argument list of type '(String.CharacterView._Element)'那么我怎样才能做到这一点?我尝试了很多不同的方法,但我很简单,无法将字符转换为int。

1 个答案:

答案 0 :(得分:1)

您必须先将字符转换为字符串:

for c in numbers.text.characters {
    if let digit = Int(String(c)) {
        print(digit)
    } else {
        // Invalid input
    }
}

let allDigits = numbers.text.characters.flatMap { Int(String($0)) }

(无声地删除非数字字符)。