ViewController.swift
import UIKit
class ViewController: UITableViewController {
var urlString = "http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&q=http://rss.dailynews.yahoo.co.jp/fc/rss.xml&num=10"
var entryData = NSArray()
override func viewDidLoad() {
super.viewDidLoad()
self.readData()
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return entryData.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("news") as UITableViewCell
var entry = entryData[indexPath.row] as NSDictionary
cell.textLabel.text = entry["title"] as? String
return cell
}
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
performSegueWithIdentifier("detail", sender: entryData[indexPath.row])
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "detail"{
var detailViewController = segue.destinationViewController as DetailViewController
detailViewController.entry = sender as NSDictionary
}
}
func readData(){
var url = NSURL(string: urlString)
var task = NSURLSession.sharedSession().dataTaskWithURL(url!, completionHandler: {data, response, error in
var dist = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil)as NSDictionary
var responseData = dist["responseData"]as NSDictionary
var feed = responseData["feed"]as NSDictionary
var entries = feed["entries"]as NSArray
self.entryData = entries
dispatch_async(dispatch_get_main_queue(), {
self.tableView.reloadData()
})
})
task.resume()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
DetailViewController.swift
import UIKit
class DetailViewController: UIViewController {
@IBOutlet weak var webView: UIWebView!
var entry = NSDictionary()
override func viewDidLoad() {
super.viewDidLoad()
var url = NSURL(string: self.entry["link"] as String)
var request = NSURLRequest(URL: url!)
webView.loadRequest(request)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}