我已经知道你可以将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。
答案 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)) }
(无声地删除非数字字符)。