首页 > 解决方案 > 制作 CKQuerySubscription 时“模糊使用 'firesOnRecordCreation'”

问题描述

Xcode 抛出一个非常模棱两可的错误:

'firesOnRecordCreation' 的模糊使用

制作 CKQuerySubscription 时。实际上,它对添加到该调用的每个选项都执行此操作。那是编译器错误吗?解决方案?

let predicate = NSPredicate(value: true)
let subscriptionID = "notes-changed"
let noteSubscription = CKQuerySubscription(recordType: "Notes",
                                                   predicate: predicate,
                                                   subscriptionID: subscriptionID,
                                                   options: [.firesOnRecordCreation,
                                                             .firesOnRecordDeletion,
                                                             .firesOnRecordUpdate])

标签: ioscloudkit

解决方案


您使用的是哪个版本的 Xcode 和 Swift?如果您使用的是Swift 5,则需要使用如下全CKQuerySubscription.Options名:

let noteSubscription = CKQuerySubscription(
  recordType: "Notes", 
  predicate: NSPredicate(value: true), 
  subscriptionID: "notes-changed", 
  options: [
    CKQuerySubscription.Options.firesOnRecordCreation, 
    CKQuerySubscription.Options.firesOnRecordUpdate, 
    CKQuerySubscription.Options.firesOnRecordDeletion
  ]
)

我希望这会有所帮助。


推荐阅读