arrays - 将字符串数组转换为 Int 数组 Swift 2?

标签 arrays string swift int swift2

[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/

相关文章:

java - Java中如何高效地将二进制字符串转换为二进制字节数组?

swift - 没有头文件的闭源(即预编译)Swift 库将如何工作?

ios - Swift:按下后更改按钮颜色

c - 与指针的动态连接

数组中struct中的c++成员函数指针给出编译错误

mysql - 在 MySQL 中使用字符串的数字组件对字符串进行数字排序的首选方法是什么?

java - 如何将字符串中的所有数字移动到字符串的开头?

iOS 钥匙串(keychain)访问后台线程和应用程序崩溃

c - 在 C 中将断言与数组一起使用

arrays - Bash shell 数组操作