我是Swift
的新手。我尝试使用此Swift链接检测Nsdictionary NSDictionary
中的无效值,但是我没有这样做。
数据:
"end_time" = "<null>"
这是我的代码:
if endTime["end_time"] is NSNull {
print("your session still available ")
}
else{
print("your session end (endTime["end_time"])")
}
每当它去else语句时。可能是我需要将字符串转换为null或替代解决方案。你能帮我吗?
谢谢。
这是您在 swift
中检查null的方式:
let time = endTime["end_time"]
if time != "<null>" {
print("time is not <null>")
}
else
{
print("time is <null>")
}
您可以创建一个nilcheck控制器,以检查零或空的各种数据类型。例如,我创建了一个函数来删除字典中的null [如果有],并将字典数组存储在UserDefaults中。请自由询问您的查询:)
func removeNilAndSaveToLocalStore(array : [[String:Any]]) {
var arrayToSave = [[String:Any]]()
for place in array {
var dict = [String:Any]()
dict["AreaId"] = NilCheck.sharedInstance.checkIntForNil(nbr: place["AreaId"]! as? Int)
dict["AreaNameAr"] = NilCheck.sharedInstance.checkStringForNil(str: place["AreaNameAr"]! as? String)
dict["AreaName"] = NilCheck.sharedInstance.checkStringForNil(str: place["AreaName"]! as? String)
dict["GovernorateId"] = NilCheck.sharedInstance.checkIntForNil(nbr: place["GovernorateId"]! as? Int)
arrayToSave.append(dict)
}
LocalStore.setAreaList(token: arrayToSave)
}
class NilCheck {
static let sharedInstance : NilCheck = {
let instance = NilCheck()
return instance
}()
func checkStringForNil(str : String?) -> String {
guard let str = str else {
return String() // return default string
}
return str
}
func checkIntForNil(nbr : Int?) -> Int {
guard let num = nbr else {
return 0 // return default Int
}
return num
} }