2015-01-25 7 views
-2

내 코드를 실행할 때이 오류가 발생합니다 : fatal error: unexpectedly found nil while unwrapping an Optional value 무엇이 원인 일 수 있습니까?치명적인 오류 : 선택 값을 언 래핑하는 동안 예기치 않게 nil이 발견되었습니다.

var bodyData = "tel_client=\(phoneNumber)&id_pays=\(phoneCode)&datetime_alibi=\(getDateTimeFormat(date))&tel_contact=\(to)&nb_rappel_alibi=1&pr_rappel_alibi=5" 
//println(bodyData) 
request.HTTPBody = bodyData.dataUsingEncoding(NSUTF8StringEncoding) 
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) { 
    (response, data, error) in 
    var error: NSError? 
    var jsonData: NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options:nil, error: &error) as NSDictionary 

    if jsonData["success"] as Int == 1 { 
     let alertView = UIAlertView(title: "GOOD", message: nil, delegate: self, cancelButtonTitle: "ok") 
     alertView.show() 
    } else { 
     let alertView = UIAlertView(title: "ERROR", message: jsonData["message"] as? String, delegate: self, cancelButtonTitle: "ok") 
     alertView.show() 
    } 
} 
+0

오류가 있으면 jsonData가 nil 일 수 있으므로 오류가 있는지 확인해야합니다. –

답변

1

JSONObjectWithData은 선택 사항을 반송합니다. 이것은 당신의 실수가 어디서 오는지입니다. 그것을 풀면 오류가 제거됩니다.

var jsonData = NSJSONSerialization.JSONObjectWithData(data, options:nil, error: &error) as? NSDictionary 

// unwrap the optional 
if let json = jsonData { 
    if json["success"] as Int == 1 { 
     let alertView = UIAlertView(title: "GOOD", message: nil, delegate: self, cancelButtonTitle: "ok") 
     alertView.show() 
    } else { 
     let alertView = UIAlertView(title: "ERROR", message: json["message"] as? String, delegate: self, cancelButtonTitle: "ok") 
     alertView.show() 
    } 
} else { 
    // jsonData was nil 
} 
+0

정말 고마워요! –