【问题标题】:How can I obtain data from consecutive URLs如何从连续 URL 中获取数据
【发布时间】:2025-12-14 18:10:01
【问题描述】:

当我尝试在循环中执行时,我有连续的 Url 最多页码,它在这里不起作用是我的代码我想从不同的 URL 获取数据,直到页码

for(var i = 1 ; i < 50; i ++)
{
    var pageNumber = 1
    var urlPath = "https://api.blabla.com/blabla?page=\(pageNumber)"
    var url = NSURL(string: urlPath)
    var task = NSURLSession.sharedSession().dataTaskWithURL(url!, completionHandler: { data,response,error  -> Void in
        if(error == nil)
        {
            //JSON Parse
        }
    })
    task.resume()
    pageNumber++
}

当我这样做时,它适用于 pageNumber = 1,但问题是它每次都提供相同的 Url,基本上是当我在 //JSON Parse 中写入 println(url!) 时。 每次都给我:

api.blabla.com.blabla?page=1

所以我检查了数据不为零,但它只适用于pagenumber = 1

【问题讨论】:

  • 定义“不起作用”。您是否检查过以确保error 真的是nil?解析完 JSON 后,是否更新 UI,将其分派回主队列?
  • 你能提供更多关于这个问题的数据吗?控制台在说什么? dataresponse 对象是空的吗?

标签: ios swift nsurlsessiondatatask


【解决方案1】:

每次循环重新开始时,您都将 pageNumber 设置为 1。完全摆脱该变量,只需使用i

【讨论】:

  • 哦,你是对的,这是我做过的最愚蠢的错误。非常感谢:)