如何在 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