由于不推荐ZoneOptions,所以我将optionsByRecordZoneID变量更改为ZoneConfiguration,如下所示
var optionsByRecordZoneID = [CKRecordZone.ID: CKFetchRecordZoneChangesOperation.ZoneConfiguration]()
for zoneID in zoneIDs {
let options = CKFetchRecordZoneChangesOperation.ZoneConfiguration()
options.previousServerChangeToken = settings.getChangeToken(forKey: databaseTokenKey)
optionsByRecordZoneID[zoneID] = options
}现在,我得到了optionsByRecordZoneID变量这一行的以下错误,
let fetchRecordZoneChangesOperation = CKFetchRecordZoneChangesOperation(recordZoneIDs: zoneIDs, optionsByRecordZoneID: optionsByRecordZoneID)无法将“CKFetchRecordZoneChangesOperation.ZoneConfiguration‘:CKRecordZone.ID”类型的值转换为预期的参数类型CKRecordZone.ID: CKFetchRecordZoneChangesOperation.ZoneOptions?’
任何帮助,以摆脱它,将不胜感激。
发布于 2019-03-15 15:20:28
init(recordZoneIDs:,optionsByRecordZoneID:)也不受欢迎,因为它采用了旧的ZoneOptions。
使用init(recordZoneIDs:,configurationsByRecordZoneID:)。
let fetchRecordZoneChangesOperation = CKFetchRecordZoneChangesOperation(recordZoneIDs: zoneIDs, configurationsByRecordZoneID: optionsByRecordZoneID)发布于 2019-03-27 21:02:25
只需添加这个条目,说明接受的答案是,就像在Xcode 10.2中所做的那样。请看一下。
https://stackoverflow.com/questions/55185442
复制相似问题