【发布时间】:2016-08-22 17:03:07
【问题描述】:
如果我的服务器端在映射 JSON 后,期望 null 值作为默认值(用 Java 编写),是否可以在 Swift 中使用 nil 值,并将它们映射并按原样发送而不展开?
我将变量设置为 Optionals,因为它可能在某些时候有价值,也可能没有。但是我不得不打开它,即使我想发送一个 nil 值。
这是我的代码:
private var _username: String?
var username: String{
get{
return self._username
}set(username){
self._username = username
}
}
如果我尝试使用可选链接,它会强制我在第 6 行执行此操作:
return (self._username?)!
但后来我得到了这种错误:“'?'必须后跟调用、成员查找或下标”
有什么方法可以在 Swift 中使用 nil,或者我必须更改后端的默认值?
【问题讨论】:
-
您的私有变量是可选的;公共变量不是可选的有什么原因吗?
-
公共变量和私有变量的目的是什么?这不是 Swift 风格
-
删除 ?变量 _username 已经是可选的,只需使用 !强制打开它。