мой массив ответов json для словаря, но я пытаюсь получить мои данные в show tableview. Но мой ответ в одном ключевом «члене», и я хочу получить данные для ключа члена, но получаю некоторую ошибку.
Я пытаюсь передать массив в качестве параметра в запрос Alamofier. Но у меня нет данных от моего JSON, я получаю некоторую ошибку, мой код, я не могу, что я делаю ....
Мой URL:
https://myfoodtalk.com:3001/api/restaurants?filter={"counts":"restaurant-comments","order":"created DESC","include":[{"relation":"follow-restaurants","scope":{"where":{"m_id":""}}},{"relation":"members"},{"relation":"favorite-restaurants","scope":{"where":{"m_id":""}}}]}
Класс моей модели:
class RestaurantsData: NSObject {
var title = String()
var descriptions = String()
var image1 = String()
var postcommentsCount = String()
var viewscount = String()
var created = String()
var members = [String:Any]()
var mbersdata = membersData()
func getRestaurentData(dataArray: [[String:Any]]) -> [RestaurantsData] {
var array = [RestaurantsData]()
let mObj = membersData()
for item in dataArray {
let obj = RestaurantsData()
obj.title = item.validatedValue("title", expected: String() as AnyObject) as! String
obj.descriptions = item.validatedValue("description", expected: String() as AnyObject) as! String
obj.image1 = item.validatedValue("image1", expected: String() as AnyObject) as! String
obj.postcommentsCount = item.validatedValue("post-commentsCount", expected: String() as AnyObject) as! String
obj.viewscount = item.validatedValue("views_count", expected: String() as AnyObject) as! String
obj.created = item.validatedValue("created", expected: String() as AnyObject) as! String
obj.members = item.validatedValue("members", expected: [String:Any]() as AnyObject) as! [String:Any]
obj.mbersdata = mObj.getMemberData(dataDic:obj.members)
array.append(obj)
}
return array
}
//Mark:- Class created for member data
class membersData: NSObject {
var photo = String()
var created = String()
var username = String()
func getMemberData(dataDic: [String:Any]) -> membersData {
let obj = membersData()
obj.username = dataDic.validatedValue("username", expected: String() as AnyObject) as! String
obj.created = dataDic.validatedValue("created", expected: String() as AnyObject) as! String
obj.photo = dataDic.validatedValue("photo", expected: String() as AnyObject) as! String
return obj
}
}
}
Мой код: - Я использую Alamofire
var dataArray = [RestaurantsData]()
//MARK: Web API calling
func ShowRestaurantsData(){
var params = [String:Any]
params = [
"counts":"restaurant-comments",
"order":"created DESC",
"include":[["relation":"follow-restaurants","scope":["where":["m_id":""]]],["relation":"members"],["relation":"favorite-restaurants","scope":["where":["m_id":""]]]
Alamofire.request( "https://myfoodtalk.com:3001/api/restaurants", method:.get, parameters: nil, headers: nil).responseJSON { (responseObject) -> Void in
switch responseObject.result
{
case .success(let value):
let dataArray = value as! [[String:Any]]
print("JSON Response:::::: \(dataArray)")
let obj = RestaurantsData()
self.dataArray = obj.getRestaurentData(dataArray: dataArray)
self.tableView.reloadData()
case .failure(let error):
print(error)
}
}
}