如何调用 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 时四处寻找解决方案时引入的,而第二个是我们现在必须使用等号来传递代码块。
希望对您有所帮助。
我没有设法将我的工作 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 时四处寻找解决方案时引入的,而第二个是我们现在必须使用等号来传递代码块。
希望对您有所帮助。