如何在 Swift 中解析超过 1 个 RSS?
How can I parse more than 1 RSS in Swift?
我正在为一个业余项目构建一个新闻应用程序,我想将 RSS 列表解析到我的应用程序(大约 10 个 url 或更多)。我已经看过 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",
...
]
我想将它解析到我的应用程序中。
谢谢
这是我的解决方案:
您必须创建 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()
}
如果您想更快地获取,可以在迭代时加载两个 url。
这是一篇关于 DispatchGroup 的好文章:
DispatchGroup
我正在为一个业余项目构建一个新闻应用程序,我想将 RSS 列表解析到我的应用程序(大约 10 个 url 或更多)。我已经看过 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",
...
]
我想将它解析到我的应用程序中。
谢谢
这是我的解决方案:
您必须创建 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()
}
如果您想更快地获取,可以在迭代时加载两个 url。
这是一篇关于 DispatchGroup 的好文章: DispatchGroup