我有一个从SQL Server 2014获取数据的Web服务。 数据库表中有一个可以为空的性别列。
返回数据是JSON。
我的问题出在我的iOS应用程序中,我必须知道它何时为空 我试过了:
ChangeListener
但是在以下代码中执行了let gender: Bool? = json["gender"] as! Bool?
:
gender == false
性别!= nil总是如此(我不能使用它)
JSON返回值是以下之一:
如果SQL Server数据库中的性别为空,我希望忽略整个if语句。
P.S。:数据库和网络服务不是我的,我不能更改返回数据类型/值,也不能更改性别列数据类型。
P.P.S。:json [“gender”]数据类型是AnyObject?。这是显而易见的,但没有什么可担的。
感谢任何帮助
答案 0 :(得分:0)
仅当 json [“gender”] 返回除nil之外的任何内容时,才会运行以下代码。在你的情况下它的真或假。
if let gender = json["gender"] as! Bool{
if gender == true {
self.genderSelection.selectedSegmentIndex = 0
} else if gender == false {
self.genderSelection.selectedSegmentIndex = 1
}
}
答案 1 :(得分:0)
经过一些研究后我发现,JSON对任何不等于“true”的值都假。 为了能够有3个选项(在这种情况下),web-service必须返回其他bool,如字符串或整数。