中断 Web 请求中的循环(在 swift 中)

Break for loop inside a web request (in swift)

在我的 for 循环中我 运行 一个网络请求。现在,如果 Web 请求中出现错误,我想中断 for 循环,但是我收到此错误: break is only allowed inside a loop or switch 我也试过像我见过的那样命名我的 for 循环,例如 myLoopName : for(...) 然后用 break myLoopName 调用它,但后来我得到了同样的错误。

这是我的代码目前的样子的例子

myLoopName : for(...) {
...
SRWebClient.POST(someUrlString)
.data(...)
.send({(response:AnyObject!, status:Int) -> Void in
    //process success response
},failure:{(error:NSError!) -> Void in
    //process failure response
    println(error)
    //where break must occur
})
}

如何打破 Web 请求中的循环?

我会在处理闭包和中断时使用一个函数来做到这一点:

func loop() {
    SRWebClient.POST(someUrlString).data().send( { response, status in
        loop()
    },
    failure:{ (error:NSError!) -> Void in
        println(error)
    }
}

我用了 return 而不是 break 并且效果很好

func loop() {
    SRWebClient.POST(someUrlString).data().send( { response, status in
        loop()
    },
    failure:{ (error:NSError!) -> Void in
        println(error)
        return
    }
}