在表加载

时间:2017-08-17 00:44:43

标签: ios swift asynchronous

我正在学习Swift并尝试构建一个应用程序,该应用程序将获取我将解析并用于填充表格的播客源。我99%肯定我遇到了异步调用的问题。我可以将剧集标题打印到控制台,以便我的解析器工作。我只是无法将数据提供给表格。以下是我尝试的内容:

class EpisodeViewController: UIViewController, UITableViewDelegate, UITableViewDataSource  {
    var podcastFocus :String = ""
    var episodes : [Episode] = []

    @IBAction func getEpisodesButton(_ sender: UIButton) {
        getURLToParse()
    }

    // get URL and send to Parser
    func getURLToParse() {
        if let url = URL(string: podcastFocus) {
            URLSession.shared.dataTask(with: url) { (data:Data?, response:URLResponse?, error:Error?) in
                if error != nil {
                    print(error!)
                } else {
                    if data != nil{
                        let parser = Parser()
                        self.episodes = parser.getPodcastMetadata(data: data!)
                        print(self.episodes)
                    }
                }
            }.resume()
        }
    }

0 个答案:

没有答案