如何调用 CloudKit in Swift 2 in iOS 9 中的完成块?

How to invoke completion block in CloudKit in Swift 2 in iOS 9?

我没有设法将我的工作 iOS8 代码片段翻译成 iOS 9 Swift 2 Xcode 7.0 版测试版 (7A120f)。

我最后一次尝试是:

saveRecordsOperation.perRecordCompletionBlock {
    (record:CKRecord, recordID:CKRecordID, error:NSError) -> Void in

    print("perRecordCompletionBlock \(record)")
}

但是 Xcode 说:

AppDelegate.swift:929:34: Cannot invoke 'perRecordCompletionBlock' with an argument list of type '((CKRecord, CKRecordID, NSError) -> Void)'

有什么想法吗?

好的,这是解决方案:

       saveRecordsOperation.perRecordCompletionBlock = {
            (record:CKRecord?, error:NSError?) -> Void in

            print("perRecordCompletionBlock \(record)")
        }

实际上有两个问题:一个是我在拼命添加 recordID 时四处寻找解决方案时引入的,而第二个是我们现在必须使用等号来传递代码块。

希望对您有所帮助。