swift 这个要点是来自我的一个小应用程序的示例,使用它来填充具有远程JSON的表。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift 这个要点是来自我的一个小应用程序的示例,使用它来填充具有远程JSON的表。相关的知识,希望对你有一定的参考价值。

import UIKit

class AutomaticCitySelectionViewController: UIViewController {
    
    var tableData = []
    @IBOutlet weak var redditListTableView: UITableView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Call from e.g nib etc
        self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: UIBarButtonItemStyle.Bordered, target: nil, action: nil)
        //redditListTableView.frame.size.height = view.frame.height - self.navigationController?.navigationBar.frame.height
        getRestaurantsNearMe()
    }
    
    func getRestaurantsNearMe(function : String) {
        let mySession = NSURLSession.sharedSession()
        var redditUrl = "http://reddit.com/.json"
        let url = NSURL(string: redditUrl)
        let networkTask = mySession.dataTaskWithURL(url!, completionHandler : {data, response, error -> Void in
            var err: NSError?
            var theJSON = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as NSMutableDictionary
            let results : NSArray = theJSON["data"]!["children"] as NSArray
            dispatch_async(dispatch_get_main_queue(), {
                self.tableData = results
                self.redditListTableView!.reloadData()
            })
        })
        networkTask.resume()
    }
        
    func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int {
        return tableData.count
    }
        
    func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {
        let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "MyTestCell")
        let redditEntry : NSMutableDictionary = self.tableData[indexPath.row] as NSMutableDictionary
        cell.textLabel?.text = redditEntry["data"]!["title"] as? String
        cell.detailTextLabel?.text = redditEntry["data"]!["author"] as? String
        return cell
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

以上是关于swift 这个要点是来自我的一个小应用程序的示例,使用它来填充具有远程JSON的表。的主要内容,如果未能解决你的问题,请参考以下文章

Swift之“闭包”的应用

我用百度搜索了个网页,要点进去时,出现个安全警告的窗口是怎么回事

小程序视图view重叠展示示例

Swift常用语法示例代码

Swift常用语法示例代码

面试时的自我简介要点