簡體   English   中英

使用不同的 URL 發出多個請求

[英]Making Multiple Requests With Different URLs

我有一個 id 的列表

173577 173581 173565 173578 173564 173571 73576 173580

我想以正確的順序循環每個 id 的請求,但現在它以隨機順序返回,並且沒有通過所有的 id。

我在let stock = imageArray[indexPath.row]時也遇到錯誤,說 indexpath 超出范圍,我認為這是因為它沒有通過所有的 id

        let products = newArray[indexPath.row]

        let id = products.id
        print(id)

        let url = URL(string: "https://www.supremenewyork.com/shop/\(id).json")!
        let request = URLRequest(url: url)
        let session = URLSession.shared
        let task = session.dataTask(with: request) { (data, response, error) in

            if let error = error {
                print("ERROR:", error)

            } else if let data = data {
                do {
                    let response = try JSONDecoder().decode(Images.self, from: data)
                    self.imageArray = response.styles
                    print(self.imageArray)
                    } catch {
                        print(error)
                    }
                } else {
                    print("UNEXPECTED ERROR")
            }
        }
        task.resume()

        let stock = imageArray[indexPath.row]
        let x = stock.biggerZoomedURL
        print(x)

代碼正在工作(除了let stock = imageArray[indexPath.row]錯誤),我只是想看看是否有辦法循環每個 id 並按順序打印出來

let stock = imageArray[indexPath.row]似乎您正在cellForRow:方法中做某事。 好吧,關於這個超出范圍的索引路徑,你可以使用這段代碼來解決,它是一個安全的索引。

public extension Array {
   public subscript (safe index: Int) -> Element? {
      return self.indices ~= index ? self[index] : nil
   }
}

用法:

let stock = imageArray[safe: indexPath.row]

或者

如果您通過簡單地迭代數組來訪問 URL,那么您可以使用DispathGroup

暫無
暫無

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

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