Преобразование основного объекта данных в CKRecord для совместного использования с помощью UICloudSharingController с Seam3 - PullRequest
0 голосов
/ 29 марта 2019

При попытке создать экземпляр CKRecord из моего текущего хранилища данных я не могу инициализировать его с помощью Seam3. Стек данных и CloudKit идеально синхронизированы благодаря Seam3. Я создаю приложение для создания списков желаний, которое позволяет делиться списками, и пытаюсь реализовать эту функцию. Без CKRecord для отправки в UICloudSharingController я не могу завершить эту функцию.

Я пытался преобразовать CKRecord вручную, и я не знаю, что я делаю неправильно.

func loadData() {
        let fetchRequest = NSFetchRequest<List>(entityName: "List")
        let sortDescriptor = NSSortDescriptor(key: "title", ascending: true)
        fetchRequest.sortDescriptors = [sortDescriptor]
        if let result = try? dataController.viewContext.fetch(fetchRequest) {
            lists = result
            tableView.reloadData()
        }
    }
override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        loadData()
        NotificationCenter.default.addObserver(forName: Notification.Name(rawValue: SMStoreNotification.SyncDidFinish), object: nil, queue: nil) { [weak self] notification in
            if notification.userInfo != nil {
                self?.dataController.smStore?.triggerSync(complete: true)
            }
            self?.dataController.viewContext.refreshAllObjects()
            DispatchQueue.main.async {
                self?.loadData()
            }
        }
    }

Это способы, которыми я заполняю tableView. Я не уверен, как работает Seam3 в фоновом режиме для заполнения элементами CloudKit. Но это плавный мост между CloudKit и CoreData. Любая помощь будет оценена .... Спасибо!

...