在swift中的tableview上显示webService响应

时间:2016-01-18 08:01:57

标签: swift2

如何在表格上显示Web服务响应。它在打印响应时有效,但如何在tableView上显示。

我不知道。任何人都可以帮助我。

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        displyResponse()
    }

    func displyResponse(){
        let iTuneSite = "http://www.apple.com/itunes/"
        let url = NSURL(string: iTuneSite)

        let request = NSURLRequest(URL: url!)
        let session = NSURLSession.sharedSession()
        let task = session.dataTaskWithRequest(request) { (data, response, error) -> Void in
            print( "\(response)")       
        }
        task.resume()       
    }

1 个答案:

答案 0 :(得分:0)

首先,你应该使用UITableViewController的子类,在一些实例变量(var itemsToDisplay: [SomeObject])中存储响应并覆盖以下方法:

numberOfRowsInSection(_:)
numberOfSections
tableView:cellForRowAtIndexPath:
  1. 返回表格中的部分数量,可能为0
  2. 返回 要显示的项目数。通常返回 itemsToDisplay.count
  3. 配置单元格
  4. 完成任务后,只需在itemsToDisplay变量

    中转换并存储响应即可
    let task = session.dataTaskWithRequest(request) { (data, response, error) -> Void in
            self.itemsToDisplay = response // transform response here
            self.tableView.reloadData()      
        }
    

    互联网上有很多教程。