2015-11-11 70 views
0

我想知道是否有更安全的方式來處理JSON響應。這裏是我到目前爲止如果網站沒有迴應,防止應用程序崩潰

func getJSON(urlToRequest: String) -> NSData{ 
    return NSData(contentsOfURL: NSURL(string: urlToRequest)!)! 
} 

func parseJSON(inputData: NSData) -> NSDictionary? { 
    do { 
     if let feed = try NSJSONSerialization.JSONObjectWithData(inputData, options: .MutableContainers) as? NSDictionary { 
      // Success block... 
      return feed 
     } 
    } 
    catch { 
     //return(error) 
    } 
    return nil 
} 

的代碼和我打電話此檢查有什麼東西在返回

let returnedJSON:AnyObject 

//Network present 
if(returnedJSON){ 
    returnedJSON = parseJSON(getJSON("URL"))! 
} 

但是我的恩德了錯誤

類型「AnyObject」不符合協議'布爾型'

所以有沒有更好的w唉要在錯誤之後做到這一點?

回答

0

一個小建議

先回到NSData?(不要強行展開)

func getJSON(urlToRequest: String) -> NSData?{ 
    return NSData(contentsOfURL: NSURL(string: urlToRequest)!) 
} 

然後檢查它是否是零

if(returnedJSON != nil){ 

} 
+0

我得到,說類型的'價值'的錯誤AnyObject'永遠不能爲零,不允許比較' – Idris

+0

查看函數,你需要改變getJSON來返回NSData ?,應該返回一個可選的值。 – Leo

+0

我目前正在將'returnedJSON'設置爲'AnyObject'。檢查我的編輯 – Idris

相關問題