我有一个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)的末尾添加!,但斯威夫特不喜欢这些想法的外观。
我想我作为初学者肯定做错了什么,但我不太确定是什么!任何帮助都将不胜感激--谢谢!
发布于 2015-12-30 09:15:40
将选项数组转换为非选项数组的经典方法是flatMap { $0 }。
let years = ...map { word in Int(word) }.flatMap { $0 }
发布于 2015-12-30 09:57:26
纯Swift解决方案,无需基础帮助
let arr = "7,8,9,10".characters.split(",").flatMap{ Int(String($0)) }
print(arr) // [7, 8, 9, 10]https://stackoverflow.com/questions/34526349
复制相似问题