【问题标题】:Set reference value in swift for CloudKit database为 CloudKit 数据库快速设置参考值
【发布时间】:2019-02-05 17:26:29
【问题描述】:

我正在尝试为我的 CloudKit 数据库中的记录设置一些值。我在其他字段(如 string 或 int)上设置任何其他类型的值没有问题,但对于 Reference filedname(storyid) 我得到这个错误:

"尝试为类型的字段“storyid”设置值类型 STRING 无效 'Storypage',定义为:REFERENCE"

func saveToCloud(note: String)
{

 let newpage = CKRecord (recordType: "Storypage")

 newpage.setValue(note, forKey: "pagecontent")

 newpage.setValue("UTENTE1", forKey:"username" )

 newpage.setValue("84EC8E60-1467-6411-5CDC-7E85DDB51C89", forKey: "storyid")

 database.save(newpage) { (record, error) in
 guard record != nil else {return}

}

【问题讨论】:

    标签: swift reference cloudkit


    【解决方案1】:

    引用字段存储CKReference object,而不是字符串:

    链接到另一条记录

    将记录链接在一起并创建强大的 它们之间的关系,创建一个新的CKReference对象,初始化 它与所有者记录,并将该引用对象分配给一个字段 拥有的记录。当你设计自己之间的关系时 记录,使所有者在两个相关记录中更重要。

    因此,您需要获取与 newpage 相关的记录的 recordID,然后使用它来创建引用对象,然后您可以使用该对象设置 storyid 字段。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-25
      • 1970-01-01
      • 1970-01-01
      • 2021-03-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多