我尝试按如下方式编写函数:
{{1}}
Xcode编译器现在在"返回nil"时抛出错误。有人能解释一下为什么吗?我的dataTest是一个可选的String,因此它应该能够为dataTest分配nil。还有其他办法吗?
答案 0 :(得分:4)
很简单,您需要flatMap
而不是map
。它的行为完全相同,但它会删除选项。
func mapTest(value: Bool?) {
var dataTest: String?
dataTest = value.flatMap({ val in
if val {
return ""
}
return nil
})
}