#core-data #swiftui
#основные данные #swiftui
Вопрос:
Если я использую NSPersistentCloudKitContainer, я вижу в файле sqlite, что изменения автоматически синхронизируются. Я также могу вносить изменения в панель управления CloudKit, перезапускать приложение и просматривать изменения. Если я использую @FetchRequest
для загрузки некоторых элементов, должен ли массив элементов автоматически обновляться?
// Fetch some items
@FetchRequest(
sortDescriptors: [NSSortDescriptor(keyPath: Item.timestamp, ascending: true)],
animation: .default)
private var items: FetchedResults<Item>
// Show them in a List
List(items) { item in
VStack {
Text("Item at (item.timestamp!, formatter: itemFormatter)")
}
}
Ответ №1:
Да, если вы установили automaticallyMergesChangesFromParent = true
, чего нет в коде по умолчанию, предоставленном Apple, при проверке использования CoreData и CloudKit.
let container = NSPersistentCloudKitContainer(name: "MyApp")
container.viewContext.automaticallyMergesChangesFromParent = true