我有一个休息api,我通过Json获取所有数据,然后将其放入IOS TableView。我的问题是一些数据在Json
中以NULL
的形式返回
"vote_status":null
我试图在swift中获取NULL
值并将其更改为字符串“0”,但我很难这样做。到目前为止我有这个
if var vote_status = Stream["vote_status"] as? String {
if (vote_status == (vote_status)[NSNull]) {
vote_status = "0"
}
}
但是我得到了这个编译错误:
不能使用索引类型下标“String”类型的值 '(NSNull).Type'(又名'NSNull.Type')
我这样做是因为 nil 和 null 似乎不起作用所以我不能这样做。
if (vote_status == nil) ...
答案 0 :(得分:4)
您只需要将字典值有条件地转换为字符串,并使用Nil Coalescing Operator ??
分配"0"
以防{... 1}}:
null
答案 1 :(得分:1)
Swift 3.0
func checkNull(obj : AnyObject?) -> AnyObject? {
if obj is NSNull {
return nil
} else {
return value
}
}
object.feature = checkNull(dict["feature"])
试试这个
vote_status is NSNull
答案 2 :(得分:1)
你可以试试这个
func checkForNull(value:AnyObject) -> String
{
if(value as! NSObject == NSNull() || value as! String == "")
{
return " "
}
else
{
return value as! String
}
}
答案 3 :(得分:0)
尝试类似的操作:
if let category = Stream["vote_status"] as? String {
print(category)
} else {
print(category)
}