我需要阅读哪个 swift 文档或视频才能了解此 ResultsHandler 的工作原理?

Which swift Document or video I need to read for me to understand how this ResultsHandler works?

嗨,我是一名新手编码员,编码是为了乐趣。 我想从 iPhone

中获取我的步数

所以我开始学习Xcode和swift。

我会写 bash 脚本和一点点 python。

但是后面的我实在看不懂

来自https://developer.apple.com/documentation/healthkit/hkstatisticscollectionquery

    query.initialResultsHandler = {
    query, results, error in

// My Understanding This Handler is a unknown type or thing for me 我怎么知道它是什么以及如何从苹果的网页上使用它? 从阅读苹果的页面我可以看出它有三个组成部分, 声明说它是一个变量?喜欢

    var initialResultsHandler: ((HKStatisticsCollectionQuery, HKStatisticsCollection?, Error?) -> Void)? { get set }

所以它是一个包含三样东西的变量?所以这是一个元组?并且可以获取和设置!?

所以我认为上面的代码意味着将 var query 放入 hander 的 HKStatisticsCollectionQuery,从 hander 的 HKStatisticsCollectionQuery 获取 var 结果并将 handle 的 Error 放入本地 var error

最重要的是错误后面的"in"是什么? 我只知道你可以 for xxxx in yyyy 并创建一个循环但是没有 for use in 意味着什么?什么文件对此进行了解释?

    guard let statsCollection = results else {
        // Perform proper error handling here
        fatalError("*** An error occurred while calculating the statistics: \(error?.localizedDescription) ***")
    }

    let endDate = NSDate()

    guard let startDate = calendar.dateByAddingUnit(.Month, value: -3, toDate: endDate, options: []) else {
        fatalError("*** Unable to calculate the start date ***")
    }

这就是您正在查看的闭包。这三个变量是您命名为 queryresultserror 的闭包的输入参数。您也可以给它们起任何其他名称,因为它们只存在于闭包内,并且只有它们的类型用于函数类型签名。

in关键字表示闭包体的开始。

有关该主题的更多信息,请查看 Closures chapter of the Swift Programming Language