我如何在Swift中使用完成处理函数创建一个函数? [英] How could I create a function with a completion handler in Swift?
本文介绍了我如何在Swift中使用完成处理函数创建一个函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设您有下载功能从网络下载文件,并希望在下载任务完成时得到通知。
typealias CompletionHandler =(success:Bool) - >无效
func downloadFileFromURL(url:NSURL,completionHandler:CompletionHandler){
//下载代码。
let flag = true //如果下载成功则返回true,否则返回false
completionHandler(成功:标志)
}
//如何使用它。
downloadFileFromURL(NSURL(string:url_str)!, {(success) - >无效
//当下载完成时,控制流程进入此处
如果成功{
//下载成功
} else {
//下载失败
}
})
希望它有帮助。 : - ]
I was just curious as to how I would approach this. If I had a function, and I wanted something to happen when it was fully executed, how would I add this into the function? Thanks
解决方案
Say you have a download function to download a file from network,and want to be notified when download task has finished.
typealias CompletionHandler = (success:Bool) -> Void
func downloadFileFromURL(url: NSURL,completionHandler: CompletionHandler) {
// download code.
let flag = true // true if download succeed,false otherwise
completionHandler(success: flag)
}
// How to use it.
downloadFileFromURL(NSURL(string: "url_str")!, { (success) -> Void in
// When download completes,control flow goes here.
if success {
// download success
} else {
// download fail
}
})
Hope it helps. :-]
这篇关于我如何在Swift中使用完成处理函数创建一个函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文