记录未保存 Cloudkit

Posted

技术标签:

【中文标题】记录未保存 Cloudkit【英文标题】:Record Not Saved Cloudkit 【发布时间】:2020-05-22 20:47:59 【问题描述】:

你好,所以我正在关注本教程:https://medium.com/better-programming/data-persistence-cloudkit-b12e575bd85c 我一步一步地跟着,但是当我保存时出现这个错误:记录未保存 这是我的代码:

import UIKit
import CloudKit
import MobileCoreServices

class CloudKitViewController: UIViewController 

    @IBOutlet var textfield: UITextField!
    let privateDatabase = CKContainer.default().privateCloudDatabase
    var titles = [String]()
   var recordIDs = [CKRecord.ID]()


    override func viewDidLoad() 
        super.viewDidLoad()

        // Do any additional setup after loading the view.

    

    @IBAction func saveBtn(_ sender: Any) 

          let title = textfield.text!

                let record = CKRecord(recordType: "Note")

                record.setValue(title, forKey: "title")

                privateDatabase.save(record)  (savedRecord, error) in

                    if error == nil 

                        print("Record Saved")

                     else 

                        print("Record Not Saved")

                    

                

     

有人可以帮忙吗:) 编辑:

【问题讨论】:

【参考方案1】:

这可能是 iCloud 容器设置的问题。您可以在 CloudKit Dashboard 中查看。您需要确保已创建包含“标题”键的“注释”记录类型。

还要确保在 Xcode 的应用功能部分中启用了 CloudKit。

您可以尝试打印实际错误以获取更多信息以帮助调试:

let record = CKRecord(recordType: "Note")
record["title"] = title // Try setting the value using subscripting (it has worked for me)
privateDatabase.save(record)  (savedRecord, error) in
    if error == nil 
        print("Record Saved")
     else 
        print(error.localizedDescription)
    

在documentation 中有更多关于CKError 的信息。

另外,如果您使用 CloudKit Dashboard 检查值是否已保存,请务必刷新它。

【讨论】:

打印记录未保存:( 尝试在网络上的 CloudKit Dashboard 中手动添加记录,并查看教程代码是否检索到它。 我更新了代码,我是 cloudkit 新手,所以我真的不知道该怎么做 @MYZXI 我已经更改了我的代码,所以它会打印更多关于错误的详细信息,而不仅仅是“记录未保存”——就是它所说的 “错误?”类型的值没有成员“localizedDescription”

以上是关于记录未保存 Cloudkit的主要内容,如果未能解决你的问题,请参考以下文章

使用 python 记录未保存的 Excel 数据或使用 vba 自动保存

使用PLSQL过程记录未保存在表中

活动记录关联未保存在数据库中

设置 CKReference 未保存

处理微操作记录的解决方法

实体框架未将更改保存到数据库中