Я пытаюсь получить данные из URL, используя swiftyJSON/Almofire:TableView замедлить приложение, и потребуется время, чтобы получить данные - swiftyJSON
вот мой код:
import UIKit
import Alamofire
import SwiftyJSON
class NewsTableViewController: UITableViewController {
var arrRes = [[String:AnyObject]]() //Array of dictionary
override func viewDidLoad() {
super.viewDidLoad()
Alamofire.request(.GET, "myURL**").responseJSON { (responseData) -> Void in
if((responseData.result.value) != nil) {
let swiftyJsonVar = JSON(responseData.result.value!)
print(swiftyJsonVar)
if let resData = swiftyJsonVar[].arrayObject {
self.arrRes = resData as! [[String:AnyObject]]
}
if self.arrRes.count > 0 {
self.tableView.reloadData()
}
}
}
self.navigationController?.navigationBar.tintColor = UIColor(red:0.47, green:0.07, blue:0.55, alpha:1.00)
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("bCell", forIndexPath: indexPath) as! TableViewCell
var dict = arrRes[indexPath.row]
if let strImage = arrRes[indexPath.row]["image"] as? String{
if let data = NSData(contentsOfURL: NSURL(string:strImage.encodeUTF8()!)!) {
cell.imgView.image = UIImage(data: data)
}
}
cell.titleLabel?.text = dict["title"] as? String
return cell
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return arrRes.count
}
TableView стал так что медленно, когда я прокручиваю, и требуется время для сбора данных !, у вас есть какие-то идеи, почему это так, также я следил за учебником для этого, и он не упомянул, почему он использовал Альмофир здесь, и что вы Выбирать данные из JSON-url? это называется «REST API»? так что я мог бы сделать хороший поиск на нем и хорошо начать, поскольку я новичок.
Это из-за 'если let data = NSData (contentsOfURL: NSURL (string: strImage.encodeUTF8()!)!) {cell.imgView.image = UIImage (data: data)} 'Это в основном потоке. – Larme
Возможный дубликат [как реализовать ленивую загрузку изображений в виде таблицы с помощью быстрого доступа) (http://stackoverflow.com/questions/28694645/how-to-implement-lazy-loading-of-images-in-table-view -Использование-быстро) – Larme