我正在为辅助项目构建新闻应用程序,我想解析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",
...
]
,我想将其解析到我的应用程序中。
谢谢
答案 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