Я пытаюсь написать HTTP-запрос с помощью Swift, и я действительно вижу, как люди идут так или иначе (на самом деле не так много GCD), чтобы делать HTTP-запросы на iOS.Swift - Grand Central Dispatch vs Blocks/Closures
Если я хочу сделать HTTP-запрос в iOS, что бы это было лучше всего: используйте Grand Central Dispatch или напишите блок блокировки? Кроме того, где можно найти отличные примеры. Из того, что я читал в Интернете, мне трудно видеть преимущества одного над другим.
На данный момент, у меня есть этот код:
let priority = DISPATCH_QUEUE_PRIORITY_DEFAULT
dispatch_async(dispatch_get_global_queue(priority, 0), {()->() in
self.activityIndicator.startAnimating()
self.authenticateUser()
dispatch_async(dispatch_get_main_queue(), {
self.activityIndicator.stopAnimating()
})
})
Из того, что я вижу на вкладке Debug Session для процессора, я могу видеть, что прыгать с темы X в теме Y (для authenticateUser) и обратно к Thread X. Что хорошо - это то, что я хочу (я уверен).
Любые хорошие примеры GCD или блоков/замков, написанные в Swift, о которых вы могли бы знать, были бы очень удобными. Благодаря!
GCD использует затворы. Вы не можете использовать GCD в Swift без использования закрытий. В любом случае, посмотрели ли вы [* Руководство по программированию системы загрузки URL *) (https://developer.apple.com/library/ios/Documentation/Cocoa/Conceptual/URLLoadingSystem/URLLoadingSystem.html#//apple_ref/doc/uid/10000165i)? –
Взгляните: https://medium.com/swift-programming/http-in-swift-693b3a7bf086. –
@MaximShoustin это лучше, чем использование GCD или более «правильный путь» для выполнения асинхронных HTTP-запросов? –