2017-05-05 23 views
2
import UIKit 
import SwiftyJSON 

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource{   
    @IBOutlet weak var tableView: UITableView!  
    var mass = [String]() 
    var jDatas = datas()  
    override func viewDidLoad() { 
     super.viewDidLoad()   
     let url = URL(string: "https://www.quandl.com/api/v3/datasets/WIKI/AAPL.json") 
     let task = URLSession.shared.dataTask(with: url!) {(data, response, error) in 
      if error != nil { 
       print("error") 
      } else { 
       if let content = data { 
        let myJson = JSON(data: content)      
        for item in myJson["dataset"]["data"] {       
         let dates = "open \(String(describing: item.1[1].string)))"     
         self.mass.append(dates)      
        }  
       } 
      } 
     } 
     task.resume() 
    } 
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return mass.count 
    } 
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
     let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! SimpleTableViewCell 
     cell.datasLabel?.text = "some text" 
     return cell 
    } 
} 

所以我的問題是,numberOfRowInSection不起作用,我試過一切,有人可以說最新的問題?Swift TableView不返回numbersOfRow

當我試圖調試它說的代碼,在那裏有我的0大規模

回答

2

你忘了你以後在dataTask的閉合迴路,所以只需重新加載tableView還對主線程重新加載tableView

for item in myJson["dataset"]["data"] {       
    let dates = "open \(String(describing: item.1[1].string)))"     
    self.mass.append(dates)      
} 
DispatchQueue.main.async { 
    self.tableView.reloadData() 
} 
+0

TNX,它的工作),但現在,當我試圖把我在大規模它的tableView說*開放無)* –

+0

@SerjSemenov歡迎的隊友,那是因爲數組不包含字符串值,但數嘗試像這樣'let dates =「open \(String(item.1 [1] .doubleValue)))'' –

+0

OMG我沒有注意到,tnx很多) –