Ben*_*Ben 3 arrays string int swift unwrap
我有一个String,例如"7,8,9,10",我想转换为一系列Int项目,即[Int]
但是,我的代码当前给了我一个[Int?](可选整数数组).这是代码:
let years = (item["years"] as! String)
.componentsSeparatedByString(",")
.map { word in Int(word) }
Run Code Online (Sandbox Code Playgroud)
我尝试了一些东西,比如改变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]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
90 次 |
| 最近记录: |