"Ambiguous use of 'firesOnRecordCreation'" 进行 CKQuerySubscription 时
"Ambiguous use of 'firesOnRecordCreation'" when making a CKQuerySubscription
Xcode 抛出一个非常模糊的错误:
Ambiguous use of 'firesOnRecordCreation'
创建 CKQuerySubscription 时。实际上,它会在添加到该调用的每个选项上执行此操作。那是编译器错误吗?解决方案?
let predicate = NSPredicate(value: true)
let subscriptionID = "notes-changed"
let noteSubscription = CKQuerySubscription(recordType: "Notes",
predicate: predicate,
subscriptionID: subscriptionID,
options: [.firesOnRecordCreation,
.firesOnRecordDeletion,
.firesOnRecordUpdate])
您使用的 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
]
)
希望对您有所帮助。
Xcode 抛出一个非常模糊的错误:
Ambiguous use of 'firesOnRecordCreation'
创建 CKQuerySubscription 时。实际上,它会在添加到该调用的每个选项上执行此操作。那是编译器错误吗?解决方案?
let predicate = NSPredicate(value: true)
let subscriptionID = "notes-changed"
let noteSubscription = CKQuerySubscription(recordType: "Notes",
predicate: predicate,
subscriptionID: subscriptionID,
options: [.firesOnRecordCreation,
.firesOnRecordDeletion,
.firesOnRecordUpdate])
您使用的 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
]
)
希望对您有所帮助。