2016-12-14 4 views
0

안녕하세요 Swift입니다. 이 스위프트 링크 Detect a Null value in NSDictionaryNSDictionary으로 시도했지만 실패했습니다.null 문자열을 null로 변환하는 방법

데이터 :

"end_time" = "<null>" 

여기 내 코드입니다 :

if endTime["end_time"] is NSNull { 

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

은 다른 문에 갈 때마다. 문자열을 null 또는 대체 솔루션으로 변환해야 할 수도 있습니다. 제발 도와 주실 수 있나요?

감사합니다. 여기

+3

값은 또한 리터럴 문자열이 될 수를 물어 주시기 바랍니다' ""' – vadian

+0

이 같은 문자열' ""'와 비교할 수'endTime- 사용자 [ "END_TIME"만약 ] == "" –

+1

"NSNull"(값이있는 경우)이 아닌 경우 end_time 형식입니다. –

답변

-1

swift에 널 (null) 확인 방법은 다음과 같습니다

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

당신은 다양한 데이터 유형에 대한 전무는 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 
} } 
+0

멋진 기능을 수행하는 연산자가 있습니다. str ?? "",'num ?? 0 '이다. – Sulthan