我试着写一个函数如下:
func mapTest(value: Bool?) {
var dataTest: String?
dataTest = value.map({ val in
if val {
return ""
}
return nil
})
}
xcode编译器现在在“return nil”处抛出一个错误。有人能解释我为什么吗?我的datatest是一个可选字符串,因此它应该能够将nil赋给datatest。还有别的办法吗?
最佳答案
很简单,你需要flatMap
而不是map
。它的行为完全相同,但它剥夺了选择。
func mapTest(value: Bool?) {
var dataTest: String?
dataTest = value.flatMap({ val in
if val {
return ""
}
return nil
})
}
关于swift - 使用map返回nil作为可选值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48224081/