ios – 如何在Swift中解包数组元素? (即数组为数组)

假设我有一个String数组,我想将它映射到一个Int数组
我可以使用map功能:
var arrayOfStrings: Array = ["0","a"]
let numbersOptional = arrayOfStrings.map { $0.toInt() }
// numbersOptional = "[Optional(0),nil]"

Numbers现在是一个Int?数组,但我想要一个Int数组.
我知道我可以这样做:

let numbers = arrayOfStrings.map { $0.toInt() }.filter { $0 != nil }.map { $0! }
// numbers = [0]

但这似乎并不是很迅速.从Int数组转换?对于Array of Int,需要使用相当多的样板函数来调用filter和map.有更快捷的方法吗?

解决方法

更新:Xcode 7.2•Swift 2.1.1
let arrayOfStrings = ["0","a","1"]
let numbersOnly = arrayOfStrings.flatMap { Int($0) }

print(numbersOnly)   // [0,1]

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...