Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
退出for循环Swift iOS的迭代_Ios_Swift_For Loop_Return_Break - Fatal编程技术网

退出for循环Swift iOS的迭代

退出for循环Swift iOS的迭代,ios,swift,for-loop,return,break,Ios,Swift,For Loop,Return,Break,我有一个函数,里面有一个for循环: func example() { // create tasks for link in links { let currIndex = links.indexOf(link) if let im = story_cache?.objectForKey(link) as? UIImage { if ((currIndex != nil) && (currIndex < content.count))

我有一个函数,里面有一个for循环:

func example() {
  // create tasks
  for link in links {
    let currIndex = links.indexOf(link)

    if let im = story_cache?.objectForKey(link) as? UIImage {
      if ((currIndex != nil) && (currIndex < content.count)) {
        if (content[currIndex!].resource_type == "image") {
          content[currIndex!].image = im
          return
        }
      }
    } else {
      if ((currIndex != nil) && (currIndex < content.count)) {
        if (content[currIndex!].resource_type == "video") {
          let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
          let documentsDirectory : NSString = paths[0]
          let appFile = documentsDirectory.stringByAppendingPathComponent(content[currIndex!].id! + ".mov")
          let local_URL = NSURL(fileURLWithPath: appFile)
          if let cached_URL = story_cache?.objectForKey(local_URL) as? NSURL {
            content[currIndex!].videoURL = cached_URL
            return
          }
        }
      }
    }

    let dltask = session.dataTaskWithURL(link, completionHandler: { (data, response, error) in  
      // MORE CODE.....
    })
  }
}
func示例(){
//创建任务
对于链接中的链接{
让currendex=links.indexOf(link)
如果让im=story\u缓存?.objectForKey(链接)为UIImage{
if((currendex!=nil)&(currendex

基本上,我想要实现的是,如果我们到达任何
return
语句,代码将完成对循环中这个特定
链接的执行,循环将移动到下一个链接。如果没有返回语句,我希望执行
dltask
。我可以使用一堆else语句来实现这一点,但我认为这会使代码变得非常混乱。使用
return
是否正确?

您可以使用
break outer
或仅
break
退出循环语句并执行dltask


希望有帮助。

您正在寻找的
继续

发件人:

continue语句告诉循环停止它正在做的事情并开始 再次在循环的下一次迭代开始时。上面说 “我已完成当前循环迭代”,而不离开循环 总共

只需将
return
替换为
continue
,它将返回到
for
循环,并使用下一个链接再次运行它