0

我是新手Swift。我尝试使用这个 Swift 链接Detect a Null value in NSDictionaryNSDictionary,但我没有这样做。

数据:

"end_time" = "<null>"

这是我的代码:

if endTime["end_time"] is NSNull {

    print("your session still available ")
 }
else{
   print("your session end \(endTime["end_time"])")
}

每次它都会去 else 声明。可能我需要将字符串转换为 null 或替代解决方案。请问你能帮帮我吗?

谢谢你。

4

2 回答 2

-1

您可以创建一个 NilCheck 控制器来检查各种数据类型的 nil 或 null。例如,我创建了一个函数来从字典中删除 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
} }
于 2016-12-14T10:22:44.860 回答
-1

以下是您检查 null 的方法swift

let time = endTime["end_time"]
if  time != "<null>" {
    print("time is not <null>")
}
else
{
    print("time is <null>")
}
于 2016-12-14T07:59:03.710 回答