Как я могу разобрать более 1 RSS в Swift? - PullRequest
0 голосов
/ 23 июня 2019

Я создаю приложение News для стороннего проекта, я хочу проанализировать список 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 Ответ

1 голос
/ 23 июня 2019

Вот мое решение:

Вы должны сделать 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...