Beenden Sie die iteration der for-Schleife Swift-iOS

Habe ich eine Funktion mit einer for-Schleife innerhalb der it:

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.....
    })
  }
}

Im Grunde, was ich erreichen will ist, dass wenn wir jeden erreichen der return Aussagen, die der code vollständig ausgeführt wurde, für diese Besondere link in die Schleife, und die Schleife bewegt sich auf den nächsten link. Wenn KEINE return-Anweisungen erreicht werden, ich will die dltask ausgeführt werden. Ich konnte erreichen, dies mit einer Reihe von anderen Aussagen, aber ich denke, das würde den code ziemlich chaotisch. Tue ich das richtige mit Hilfe return?

InformationsquelleAutor Alk | 2016-09-11
Schreibe einen Kommentar