为什么我得到错误“参数类型'字符串'不符合预期类型'序列'

问题描述 投票:1回答:2

我正在尝试将用户输入从textField转换为数组。我按照这里提供的代码https://stackoverflow.com/a/27501398

let someString : String = someTextField.text!
let someArray = Array(someString).map { String($0).toInt()! }

但后来我得到了这个错误:

 Argument type "String" does not conform to expected type "Sequence"

我究竟做错了什么?

iphone xcode8 swift2.3
2个回答
4
投票

似乎从Swift 2.0开始,String不再符合SequenceType。如果你真的喜欢函数式编程,你可以解决这个问题。但是,这里没有必要这么花哨:

let text : String = "12345"
var digits = [Int]()
for element in text.characters {
    digits.append(Int(String(element))!)
}

1
投票

Swift 4 characters已被弃用,因此上面的代码将是这样的:

let text : String = "12345"
var digits = [Int]()
for element in text {
    digits.append(Int(String(element))!)
}
© www.soinside.com 2019 - 2024. All rights reserved.