选择哪些数据模型与iCloudSwiftData

问题描述 投票:0回答:1

因此,我试图仅将我的某些模型与iCloud同步,而其他模型则在默认设备中保存在本地。我有一个问题的世界,所以在我开始在干草堆中寻找针头之前。我想问这个论坛,我的方法是应该根据需要起作用的方法,还是我的代码显然是为什么事情不起作用?我所有的模型都有默认值和需要的关系。 iCloud正在工作,但是当我尝试排除某些模型时,我的问题就会出现。因此,我想同步“ ModelsForCloudSyning”,但不是“ ModelnotForCloudSyncing”

var avoidCloudSyncModelContainer : ModelContainer = { let modelNotForCloudSyncing = Schema([NoCloudSyncModel.self]) let modelConfigForNoCloudSync = ModelConfiguration(schema: modelNotForCloudSyncing, cloudKitDatabase: .none) let modelsForCloudSyncing = Schema([CloudSyncModelA.self, CloudSyncModelB.self, CloudSyncModelC.self]) let modelConfigForCloudSync = ModelConfiguration(schema: modelsForCloudSyncing, cloudKitDatabase: .automatic) do { return try ModelContainer(for: NoCloudSyncModel.self, CloudSyncModelA.self, CloudSyncModelB.self, CloudSyncModelC.self, configurations: modelConfigForNoCloudSync, modelConfigForCloudSync) } catch { fatalError("Could not create ModelContainer: \(error)") } }() ... { ContentView() }.modelContainer(avoidCloudSyncModelContainer)
    
icloud cloudkit swiftdata
1个回答
0
投票
我通过添加每个配置的名称来使其正常工作:

let globalSchema = Schema(CurrentPersistenceScheme.models) let localSchema = Schema(CurrentPersistenceScheme.localModels) let cloudSchema = Schema(CurrentPersistenceScheme.cloudModels) // Make sure to add a name to your configuration, e.g. 'cloud' and 'local' let cloudConfig = ModelConfiguration("cloud", schema: cloudSchema, cloudKitDatabase: .private(Constants.Storage.iCloudContainerID)) let localConfig = ModelConfiguration("local", schema: localSchema, cloudKitDatabase: .none) do { return try ModelContainer(for: globalSchema, configurations: [cloudConfig, localConfig]) } catch { fatalError("Could not create ModelContainer: \(error)") }
    
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.