2016-11-17 3 views
-1

大きなデータをテーブルビューに取り込もうとしています。しかし、私のテーブルビューは20文字列のオブジェクトしか表示できません。ユーザーが最後までスクロールするたびに残りのデータを表示してテーブルビューを更新するにはどうすればよいですか?テーブルビューに大きなデータを設定する方法

var people = [People]() 
let configureSession = URLSessionConfiguration.default 


    let session = URLSession(configuration: configure) 

    //Setup the Api Key... 
    let apiKey = "https://congress.api.sunlightfoundation.com/legislators?apikey=(//Api Key here...)" 

if error != nil{ 
       print("ERROR: \(error?.localizedDescription)") 
       return 
      } else if let jsonData = data { 
       do{ 
        let parsedJSON = try JSONSerialization.jsonObject(with: jsonData, options: []) as! [String: AnyObject] 
        guard let results = parsedJSON["results"] as? [[String: AnyObject]] else {return} 
        for result in results{ 
         let name = myClass() 
name.firstName = result["first_name"] as! String 
self.people.append(name) 
} 
        DispatchQueue.main.async { 
         //Reload the data 
         self.table.reloadData() 
        } 
       } catch let error as NSError{ 
        print(error) 
       } 
      } 
}).resume() 
    } 
} 

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return people.count 
} 

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 

     let cell = tableView.dequeueReusableCell(withIdentifier: "Cell") 
     cell.textLabel?.text = people[indexPath.row] //Only displays 20... Need to display more! 

    return cell! 
} 

func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) { 
    let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) 
    //Code to display the rest of the data goes here? 

} 
+0

大きなデータが –

+0

を理解しない何を意味し、それは、すべての[配列数] –

+0

単純な答えを表示するだけで、表示する項目数 'UITableView'を伝え、そしてそれらがどのようにUITableViewDelegate''を介して表示されますと、 'UITableViewDataSource'です。システムは残りの部分を処理します。 – antonio081014

答えて

0

あなたはnumberOfRowsInSection方法で正しい値を返していることを確認してください:あなたのtableViewで30行があるはず提供myLargeData配列で

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return myLargeData.count 
} 

あなたはセクションデリゲートの行数を使用することができます
-1

より多くのデータを配列で処理するテーブルビューデリゲートの

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
{ 
    return yourarray.count 
} 
関連する問題