Created
July 26, 2017 14:01
-
-
Save Alicelovecode/87542d6a9a830263782a99ab35bef0bc to your computer and use it in GitHub Desktop.
downloaadXML.swift
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
| func downloaadXML(webAddress:String){ | |
| if InternetOK() == true{ | |
| if let url = URL(string: webAddress){ | |
| let task = session.dataTask(with: url, completionHandler: { | |
| (data, response, error) in | |
| if error != nil{ | |
| print(error!.localizedDescription) | |
| DispatchQueue.main.async { | |
| self.popAlert(withTitle: "Error", andMessage: error!.localizedDescription) | |
| } | |
| return | |
| } | |
| if let okData = data{ | |
| //解析XML資料,要增加一個類別在另一個file檔案裡做解析 | |
| let parser = XMLParser(data: okData) | |
| let rssParserDelegate = RSSParserDelegate() | |
| parser.delegate = rssParserDelegate | |
| if parser.parse() == true{ | |
| self.objects = rssParserDelegate.getResult() | |
| DispatchQueue.main.async { | |
| self.myTableView.reloadData() | |
| } | |
| }else{ | |
| print("parse fail") | |
| } | |
| } | |
| }) | |
| task.resume() | |
| } | |
| }else{ | |
| popAlert(withTitle: "No internet", andMessage: "Please try again later!") | |
| } | |
| } | |
| func popAlert(withTitle title:String, andMessage message:String){ | |
| let alert = UIAlertController(title: title, message: message, preferredStyle: .alert) | |
| alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil)) | |
| present(alert, animated: true, completion: nil) | |
| } | |
| override func viewDidLoad(){ | |
| super.viewDidLoad() | |
| myTableView.dataSource = self | |
| myTableView.delegate = self | |
| /*let news1 = NewsItem(title: "first news", link: "https://www.apple.com") | |
| let news2 = NewsItem(title: "second news", link: "https://www.nike.com") | |
| let news3 = NewsItem(title: "third news", link: "https://www.udemy.com") | |
| objects.append(news1) | |
| objects.append(news2) | |
| objects.append(news3) | |
| 隱藏測試用假資料*/ | |
| downloaadXML(webAddress: "https://www.cnet.com/rss/iphone-update/") | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment