不推荐使用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)
无法转换类型'[CKRecordZone.ID的值: CKFetchRecordZoneChangesOperation.ZoneConfiguration]'预期 参数类型'[CKRecordZone.ID: CKFetchRecordZoneChangesOperation.ZoneOptions]?'
任何摆脱它的帮助将不胜感激。
答案 0 :(得分:3)
init(recordZoneIDs:,optionsByRecordZoneID:)
也被弃用,因为它占用了旧的ZoneOptions
。
使用init(recordZoneIDs:,configurationsByRecordZoneID:)
。
let fetchRecordZoneChangesOperation = CKFetchRecordZoneChangesOperation(recordZoneIDs: zoneIDs, configurationsByRecordZoneID: optionsByRecordZoneID)
答案 1 :(得分:0)
只需添加此条目即可声明接受的答案是在Xcode 10.2中完成答案的方式。请看一下。