[Xcode 7.1, iOS 9.1]
我有一个数组:var array: [String] = ["11", "43", "26", "11", "45", "40"]
我想将它(每个索引)转换成一个 Int,这样我就可以用它从一个计时器开始倒计时,对应于该索引。
如何在 Swift 2 中将 String
数组转换为 Int
数组?
我尝试了几个链接,但没有一个有效,而且所有链接都给了我一个错误。链接中的大部分代码已过时或尚未更新到 swift 2,例如 toInt()
方法。
最佳答案
使用 map
函数
let array = ["11", "43", "26", "11", "45", "40"]
let intArray = array.map { Int($0)!} // [11, 43, 26, 11, 45, 40]
在像 UIViewController
这样的类中使用
let array = ["11", "43", "26", "11", "45", "40"]
var intArray = Array<Int>!
override func viewDidLoad() {
super.viewDidLoad()
intArray = array.map { Int($0)!} // [11, 43, 26, 11, 45, 40]
}
如果数组包含不同的类型,您可以使用 flatMap
(Swift 2) 或 compactMap
(Swift 4.1+) 来只考虑可以转换为 整数
let array = ["11", "43", "26", "Foo", "11", "45", "40"]
let intArray = array.compactMap { Int($0) } // [11, 43, 26, 11, 45, 40]
关于arrays - 将字符串数组转换为 Int 数组 Swift 2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33348056/