我有一个休息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"
}
}
但是我得到了这个编译错误:
无法下标索引类型为'(NSNull).Type'的类型'String'的值(又名'NSNull.Type')
我这样做是因为nil和null似乎不起作用所以我不能这样做。
if (vote_status == nil) ...
您只需要有条件地将字典值转换为String并使用Nil Coalescing Operator ??
在发生故障的情况下分配"0"
null
:
let vote_status = Stream["vote_status"] as? String ?? "0"
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
你可以试试这个
func checkForNull(value:AnyObject) -> String
{
if(value as! NSObject == NSNull() || value as! String == "")
{
return " "
}
else
{
return value as! String
}
}
尝试这样的事情:
if let category = Stream["vote_status"] as? String {
print(category)
} else {
print(category)
}