我有一个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)
,但SWIFT不喜欢这些想法的样子.
我认为有一些显而易见的事情,我作为初学者做错了,但我不太确定是什么!任何帮助将不胜感激 - 谢谢!
将选项数组转换为非选项数组的经典方法是flatMap { $0 }
:
let years = ...map { word in Int(word) }.flatMap { $0 }
纯粹的Swift解决方案,没有基金会的帮助
let arr = "7,8,9,10".characters.split(",").flatMap{ Int(String($0)) } print(arr) // [7, 8, 9, 10]