将UIDataSharingController和Seam3共享,将核心数据实体转换为CKRecord以进行共享

时间:2019-03-29 18:13:48

标签: cloudkit seam3 ckrecord

尝试从当前数据存储实例化CKRecord时,无法使用Seam3对其进行初始化。借助Seam3,核心数据堆栈和CloudKit可以完美同步。我正在建立一个支持列表共享的愿望清单应用程序,并且正在尝试实现此功能。如果没有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 Items填充。但这是CloudKit与CoreData之间的无缝桥接。任何帮助将不胜感激。...谢谢!

0 个答案:

没有答案