2017-05-05 9 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が機能しないこと、私はすべてを試しました、誰かが何を問題と言うことができますか?スウィフトテーブルビューはnumbersOfRowを返しません

私はそれは私の大規模な

答えて

2

でtheresの0あなたはそう単純にメインスレッドでもtableViewをリロードし、あなたのdataTaskの閉鎖でのforループの後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に私の大規模なを取るしようとしている、それは*オープンnilを言う)* –

+0

@SerjSemenovようこそメイト、ザッツ配列は、文字列値が含まれていませんが、それは数であるため、このようにしてみてください 'let dates =" open \(String(item.1 [1] .doubleValue))) "' –

+0

OMG私は気づいていませんでした。 –

関連する問題