我只是好奇我会怎么做.如果我有一个函数,我想在它完全执行时发生一些事情,我该如何将其添加到函数中?谢谢

推荐答案

假设您有一个从网络下载文件的下载功能,并且希望在下载任务完成时收到通知.

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

希望有帮助.

Swift相关问答推荐

操作员如何点逻辑非(.!)在Swift工作?

按Esc键时执行操作(工作表)

减go 用SWIFT struct 填充的NSCountedSet

SwiftUI轨迹绘制怪异

显示第二个操作紧接在另一个操作后的工作表在SwiftUI中不起作用

如何将图像插入到矩形中

如何使用变量 Select 哪个向量(?)在我的 struct 中密谋吗?

TimeZone 背后的目的

如何使用模型在 SwiftUI 的列表中进行搜索

当将新值推送到 NavigationStack 时,SwiftUI 的 navigationDestination 已在堆栈的早期声明

Xcode 15 Beta中如何使用@Observable?

如何从 RC 加载场景作为 ModelEntity 而不是普通实体?

如何返回一个通过 SwiftUI 中的另一个协议间接继承 View 协议的 struct ?

一组可散列的自定义元素插入相等的元素

Swift - 给定一个像 30 的 Int 如何将范围数乘以 7?

带有屏幕参数的 NSWindow 初始化程序在初始化时导致致命错误

Vapor 4,如何按外键过滤?

如何删除标签和步进按钮之间的间距是 SwiftUI Stepper?

如何在 Swift 中将 XPC 自定义类列入白名单?

来自 ObservableObject 的绑定值