-
-
Save TyrfingMjolnir/4c7d9ea3dbdd88df42b84a3e5d521e84 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