2016-12-14 6 views
0

Я новичок в Swift. Я попытался с помощью этой ссылки Swift Detect a Null value in NSDictionaryNSDictionary, но мне это не удалось.как преобразовать пустую строку в нуль swift

данных:

"end_time" = "<null>" 

Вот мой код:

if endTime["end_time"] is NSNull { 

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

Каждый раз, когда он собирается еще заявление. Может быть, мне нужно преобразовать строку в нулевое или альтернативное решение. Не могли бы вы мне помочь, пожалуйста?

спасибо.

+3

Значение может быть также символьная строка '« „' – vadian

+0

можно сравнить со строкой '“ „' вот так: 'если EndTime [“ end_time» ] == "" ' –

+1

какой формат является end_time, когда нет" NSNull "(когда оно имеет значение) –

ответ

-1

Вот как проверить нуль в swift:

let time = endTime["end_time"] 
if time != "<null>" { 
    print("time is not <null>") 
} 
else 
{ 
    print("time is <null>") 
} 
+2

' '! =' Nil' – vadian

+0

приводит к такому же результату, endTime ["end_time"] равно " «это НЕ ноль. –

-1

Вы можете создать контроллер NilCheck, чтобы проверить ноль или нуль для различных типов данных. Например, я создал функцию для удаления null [if any] из словаря и хранения массива словаря в 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 
} } 
+0

Есть оператор, который делает то, что ваши фантастические функции делают 'str ?? "", 'num ?? 0'. – Sulthan

Смежные вопросы