无法将 ZoneConfiguration 转换为 ZoneOptions

Cod*_*221 0 ios swift cloudkit

由于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
        }
Run Code Online (Sandbox Code Playgroud)

现在,对于这行optionsByRecordZoneID变量,我收到以下错误,

let fetchRecordZoneChangesOperation = CKFetchRecordZoneChangesOperation(recordZoneIDs: zoneIDs, optionsByRecordZoneID: optionsByRecordZoneID)
Run Code Online (Sandbox Code Playgroud)

无法将类型“[CKRecordZone.ID:CKFetchRecordZoneChangesOperation.ZoneConfiguration]”的值转换为预期的参数类型“[CKRecordZone.ID:CKFetchRecordZoneChangesOperation.ZoneOptions]?”

任何有关摆脱它的帮助将不胜感激。

rma*_*ddy 5

init(recordZoneIDs:,optionsByRecordZoneID:)太废弃了,因为它需要旧的ZoneOptions

使用init(recordZoneIDs:,configurationsByRecordZoneID:).

let fetchRecordZoneChangesOperation = CKFetchRecordZoneChangesOperation(recordZoneIDs: zoneIDs, configurationsByRecordZoneID: optionsByRecordZoneID)
Run Code Online (Sandbox Code Playgroud)