如何使用大数据填充表视图

时间:2016-11-17 17:25:07

标签: ios swift uitableview

我尝试使用大数据填充表格视图。但是,我的tableview只能显示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?

}

2 个答案:

答案 0 :(得分:0)

确保以numberOfRowsInSection方法返回正确的值:

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

使用提供的myLargeData数组,tableView

中应该有30行

答案 1 :(得分:-1)

您可以使用表视图委托的section delegate中的行数来处理数组中的更多数据。

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