Tôi có một chức năng với một vòng lặp for bên trong của nó:Exit lần lặp của vòng lặp for Swift iOS
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.....
})
}
}
Về cơ bản những gì tôi muốn đạt được là nếu chúng ta đạt được bất kỳ của return
báo cáo mã kết thúc thực hiện cho điều này cụ thể là link
trong vòng lặp và vòng lặp chuyển sang liên kết tiếp theo. Nếu không đạt được các báo cáo trả về, tôi muốn thực hiện dltask
. Tôi có thể đạt được điều này bằng cách sử dụng một loạt các báo cáo khác nhưng tôi nghĩ rằng sẽ làm cho mã khá lộn xộn. Tôi có đang thực hiện quyền này với việc sử dụng return
không?