var arrayOfOptionals: [String?] = ["Seems","like","an",nil,"of","optionals"]
我可以用简短的方式强制解开它:var arrayForCrash = arrayOfOptionals.map {$ 0! }
但是这会让应用程序崩溃,有没有其他的简短方法(没有显式解包)我可以如何解开一个可选的数组?
该解决方案将为您提供一个新数组,其中所有值都解开,所有的nil都被过滤掉。使用flatMap的新解决方案(需要Swift 2.0):
let arrayOfOptionals: [String?] = ["Seems","optionals"]let arrayWithNoOptionals = arrayOfOptionals.flatMap{let arrayOfOptionals: [String?] = ["Seems","optionals"]let arrayWithNoOptionals = arrayOfOptionals.filter{ != nil }.map{ ! }}
旧解决方案
总结以上是内存溢出为你收集整理的Swift:可选项数组的快捷方式展开全部内容,希望文章能够帮你解决Swift:可选项数组的快捷方式展开所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)