如果没有来自网站的回复,请防止应用崩溃

时间:2015-11-11 02:49:15

标签: ios swift

我想知道是否有一种更安全的方式来处理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'不符合协议'BooleanType'

错误之后还有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

一点建议

首先返回NSData?(不要强行打开)

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

然后检查它是否为零

if(returnedJSON != nil){

}