Skip to content

Instantly share code, notes, and snippets.

@JohannMG
Created February 9, 2017 20:44
Show Gist options
  • Select an option

  • Save JohannMG/db8fb9a45051034190e6c02298ad63cf to your computer and use it in GitHub Desktop.

Select an option

Save JohannMG/db8fb9a45051034190e6c02298ad63cf to your computer and use it in GitHub Desktop.
Response object representing the response from the server. Quick JSON parsing so you stop repeating the snippet
/*
Response object representing the response from the server.
Core: Data (NSData), Response (NSURLResponse), Error (NSError)
Convienece:
HTTP
JSON (Meant for an individual object)
JSON Array (Meant for parsing an entire list of objects)
*/
struct Response {
let data: Data!
let response: URLResponse!
var error: NSError?
var responseHTTP: HTTPURLResponse! {
return response as? HTTPURLResponse
}
var responseJSON: [String: AnyObject]? {
if let data = data {
do {
return try JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.allowFragments) as? [String: AnyObject]
} catch {
return nil
}
}
return nil
}
var responseJSONArray: [AnyObject]? {
if let data = data {
do {
return try JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.allowFragments) as? [AnyObject]
} catch {
return nil
}
}
return nil
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment