Created
February 3, 2015 08:54
-
-
Save jackbillstrom/a98c2854dc325b347915 to your computer and use it in GitHub Desktop.
This gist is a sample from an small application of mine, use it to populate a table with remote JSON.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment