数组 – Swift 4 Array Map nil to String
发布时间:2020-12-14 04:49:52 所属栏目:百科 来源:网络整理
导读:所以我有这个简单的代码,并有快速数据类型的问题,想要映射这个数组 ["a","b",nil,"c","d",nil] 至 ["a","z","z"] 所以,这是我目前的代码 import Foundationlet array1 = ["a",nil]let newArray = array1.map { (currentIndex: Any) - String in if currentIn
所以我有这个简单的代码,并有快速数据类型的问题,想要映射这个数组
["a","b",nil,"c","d",nil] 至 ["a","z","z"] 所以,这是我目前的代码 import Foundation let array1 = ["a",nil] let newArray = array1.map { (currentIndex: Any) -> String in if currentIndex == nil { return "z" } return currentIndex as! String } print(newArray) 如果您尝试解决代码,我将不胜感激.谢谢. 解决方法
如果将currentIndex声明为Any,则无法将其与nil进行比较.您的案例中的正确类型是String?:
let newArray = array1.map { (currentIndex: String?) -> String in if currentIndex == nil { return "z" } return currentIndex! } 但是,编译器可以从上下文中自动推断: let newArray = array1.map { currentIndex -> String in if currentIndex == nil { return "z" } return currentIndex! } 更好地使用零合并操作符??,并避免强制解包: let newArray = array1.map { currentIndex in currentIndex ?? "z" } 或更短: let newArray = array1.map { $0 ?? "z" } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |