0

私は初めてSwiftです。この Swift link Detect a Null value in 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または代替ソリューションに変換する必要があるかもしれません。私を手伝ってくれますか?

ありがとうございました。

4

2 に答える 2

-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 に答える
-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 に答える