我有一個在迅速創建一個從節點的JSON對象的功能:爲什麼我不能用AlamoFire和SwiftyJson快速創建我的類的對象?
class func fromJSON(json: JSON) -> SingleRequest? {
var title: String
if let titleOrNil = json["title"].string {
title = titleOrNil
} else {
title = ""
}
let locationName = json["location"].string
let discipline = json["discipline"].string
let lat = json["location"]["coordinates"][1].doubleValue
let lon = json["location"]["coordinates"][0].doubleValue
let coordinate = CLLocationCoordinate2D(latitude: lat, longitude: lon)
return SingleRequest(title: title, locationName: locationName!, discipline: discipline!, coordinate: coordinate)
}
現在,使用alamofire
和swiftyJson
我想從我的web服務獲取的所有數據,並創建SingleRequest
對象。我這樣做,如下圖所示:
func fetchRequests(radius: Double, lat: Double, lon: Double){
Alamofire.request(.GET, "https://mywebservice")
.responseJSON { response in
switch response.result {
case .Success:
if let jsonData = response.result.value {
for requestJSON in jsonData {
if let request = SingleRequest.fromJSON(requestJSON){
//do sth with a single request here
//e.g. print(request.discipline)
}
}
}
case .Failure(let error):
print("SWITCH ERROR")
print(error)
}
}
}
,但我得到一個錯誤:
所以我的問題是 - 如何使用alamoFire
和SwiftyJson
我可以創造我的自定義SingleRequest
?
謝謝,我遵循你的建議,但是當我使用你的代碼片斷時,我得到一個錯誤:http://i.imgur.com/5NSkum2.png有沒有解決這個問題的方法? – user3766930
我編輯了我的答案。基本上,你需要從'requestJSON'創建一個'JSON'對象,因爲'fromJSON'需要一個JSON對象。 – paulvs