如何在Swift中解析1个以上的RSS?

时间:2019-06-23 05:52:31

标签: json swift rss

我正在为辅助项目构建新闻应用程序,我想解析RSS列表到我的应用程序(大约10url或更多)。我已经看过youtube或google中存在的所有教程,但是它们都教我仅获取1个URL。这里有人建议我如何在Swift中进行操作吗?。

例如: 我有一个包含URL列表的数组:

let feed_tech = [ 
 "https://www.reddit.com/r/Technologies+elm+haskell+emacs+javascript+programming+rust.rss",
 "http://feeds.feedburner.com/TechCrunch/",
 "https://news.ycombinator.com/rss",
 "http://feeds.arstechnica.com/arstechnica/index",
 "https://www.theverge.com/rss/index.xml",
 ...
]

,我想将其解析到我的应用程序中。

谢谢

1 个答案:

答案 0 :(得分:1)

这是我的解决方法:

您必须制作DispatchGroup并遍历URL才能获取和保存数据。

let dispatchGroup = DispatchGroup()
dispatchGroup.notify(queue: .main) {
    // Finish all requests
    // Hide Loading
}

// Show Loading

for url in urls {
    DispatchQueue.main.async {
        // Update Loading if you'd like
        // For exam: Loading (1 from 10) urls
    }
    dispatchGroup.enter()
    callAndFetchAPI(url, completion: {
        dispatchGroup.leave()
    }
    dispatchGroup.wait()
}

如果您想更快地获取数据,则可以在迭代中加载两个网址。

这是有关DispatchGroup的好文章: DispatchGroup