我得到了以下响应值数组:
["Mallard Point Trailer Court","Golddust","Hagler","McCosh Mill","Graystone","Old Jonesboro","Carlees Mobile Home Court","Denson","Blake","Inverness Cliffs"]
如何使用alamofire在我的tableview中加载这些数据?
这是我的代码
let url = Constants.CityUrl + fullName
print(url)
Alamofire.request(url, method: .get).responseJSON { response in
if let JSON = response.result.value {
print("JSON: \(JSON)")
let response = JSON as! NSArray
}
答案 0 :(得分:1)
为了访问整个类中的数组,你需要像下面那样声明它是全局的,也喜欢swift“Array”而非“NSArray”,因为它有很多优点
var reponseArray = [String]
还可以从viewDidLoad
func fetchInformation() {
let url = Constants.CityUrl + fullName
print(url)
Alamofire.request(url, method: .get).responseJSON { response in
if let JSON = response.result.value {
print("JSON: \(JSON)")
reponseArray = JSON as! Array
DispatchQueue.main.async {
tableView.reloadData()
//reload on main thread
}
}
}
在表格视图中数据源方法使用reponseArray
答案 1 :(得分:0)
在完成块之外添加一个变量并为其分配响应。 例如:
let arrResponse: [String]?
在tableView委托方法
中func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return arrResponse.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("cell") as UITableViewCell
cell.textLabel?.text = arrResponse[indexPath.row] as! String
return cell
}