Skip to content

Instantly share code, notes, and snippets.

@romainmenke
Created June 19, 2016 11:50
Show Gist options
  • Save romainmenke/3d2b7a0ade82ade9395c15fe08353e32 to your computer and use it in GitHub Desktop.
Save romainmenke/3d2b7a0ade82ade9395c15fe08353e32 to your computer and use it in GitHub Desktop.
// Generated with Jenerator : github.com/romainmenke/Jenerator
import Foundation
/**
* Your Description For WFJenerator Goes Here
*/
class WFJenerator {
var elements : [WFJeneratorElement]
init(array:[AnyObject]) {
self.elements = []
for element in array {
if let element = element as? [String:AnyObject] {
self.elements.append(WFJeneratorElement(data: element))
}
}
}
/**
Give this function some parameters to make the query a bit more dynamic
- returns: Your Return Description Here.
*/
#if swift(>=3.0)
static func fromSource(urlString : String) -> WFJenerator? {
guard let url = urlComponents.url, data = try? Data(contentsOf: url) else {
return nil
}
do {
let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers)
if let array = json as? [AnyObject] {
return WFJenerator(array: array)
}
} catch {}
return nil
}
#elseif swift(>=2.2)
static func fromSource(urlString : String) -> WFJenerator? {
guard let url = NSURL(string: urlString), data = NSData(contentsOfURL: url) else {
return nil
}
do {
let json = try NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers)
if let array = json as? [AnyObject] {
return WFJenerator(array: array)
}
} catch {}
return nil
}
#endif
}
/**
* Your Description For WFThree_day_forecast Goes Here
*/
class WFThree_day_forecast {
var temperature : Int
var day : String
var conditions : String
init(data:[String:AnyObject]) {
self.temperature = (data["temperature"] as? Int) ?? 0
self.day = (data["day"] as? String) ?? ""
self.conditions = (data["conditions"] as? String) ?? ""
}
}
/**
* Your Description For WFJeneratorElement Goes Here
*/
class WFJeneratorElement {
var location : String
var three_day_forecast : [WFThree_day_forecast]
init(data:[String:AnyObject]) {
self.location = (data["location"] as? String) ?? ""
self.three_day_forecast = []
if let array = data["three_day_forecast"] as? [AnyObject] {
for element in array {
if let element = element as? [String:AnyObject] {
self.three_day_forecast.append(WFThree_day_forecast(data: element))
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment