我有一个String
,例如"7,8,9,10"
我想转换为Int
项目数组[Int]
但是,我的代码目前给了我一个[Int?]
(一个可选整数数组)。这是代码:
let years = (item["years"] as! String)
.componentsSeparatedByString(",")
.map { word in Int(word) }
我尝试了一些方法,例如将Int(word)
更改为Int(word!)
,并将!
添加到String)
的末尾,但很快就不喜欢这样的外观这些想法。
我认为有一些显而易见的事情,我作为一个初学者做错了,但我不太确定是什么!非常感谢任何帮助 - 谢谢!
答案 0 :(得分:8)
将选项数组转换为非选项数组的经典方法是flatMap { $0 }
:
let years = ...map { word in Int(word) }.flatMap { $0 }
答案 1 :(得分:6)
纯粹的Swift解决方案,没有基金会的帮助
let arr = "7,8,9,10".characters.split(",").flatMap{ Int(String($0)) }
print(arr) // [7, 8, 9, 10]