簡體   English   中英

Alamofire優先級隊列

[英]Alamofire Priority Queue

我使用Alamofire作為我的Swift應用程序的網絡庫。 有沒有辦法用Alamofire保持網絡請求的“優先級隊列”? 我相信我過去在圖書館看過這個功能,但我再也找不到了,或者找到其他相關內容。

假設我在我的應用程序中打開一個頁面,它開始發出一些請求。 首先它獲得一些JSON,這是快速的,沒有問題。

從那個JSON,它提取一些信息,然后開始下載圖像。 這些圖像可能非常大並且需要很多秒(有時約30秒或更長)。 但棘手的部分是用戶可以選擇在圖像完成下載之前移動到下一頁。

如果用戶在圖像下載完成之前移動到下一頁,是否可以將其移至較低優先級隊列? 那么當下一頁上的圖像開始加載時,它們會更快? 我甚至願意完全暫停舊的請求,直到新的請求完成,如果可能的話。

請記住,我對許多建議持開放態度。 我的實施有很多自由。 所以,如果這是一個不同的庫,或iOS中的不同機制,那很好。 即使我繼續使用Alamofire進行JSON,也可以使用其他方式下載和管理我的所有圖像。

此外,可能無關緊要,但我會在這里添加。 我完全下載后,我正在使用https://github.com/rs/SDWebImage來緩存我的圖像。 這就是我不想完全取消請求的原因。 我需要它完成然后它不會再發生。

TL; DR我想要一個快速隊列和一個慢速隊列,能夠在完成之前將事物從快速隊列移動到慢速隊列。

您考慮過管理NSOperationQueue嗎? 教程可能會有所幫助。 在他的示例中,他在滾動頁面時暫停下載,但我相信您可以調整NSOperation對象的queuePriority屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM