繁体   English   中英

如何保存相关的核心数据对象以快速分析

[英]how to save related core data objects to parse with swift

我的应用程序是一个简单的单词列表共享应用程序。 有所有者的实体,它们拥有实体词表以及CoreData中相关词的实体。 在一个屏幕中,我希望能够保存一个wordList及其相关单词和所有者以按一下按钮即可进行解析。 然后在另一个屏幕中,我希望能够下载WordList及其相关词,然后将其保存到核心数据中。 在表格中显示列表的名称。 我的代码是:

// To save the wordList to Parse:

@IBAction func shareWordList(sender: AnyObject) {

    let parseWordList = PFObject(className: "WordList")
    parseWordList.setObject("\(wordList?.listName)", forKey: "ListName")
    parseWordList.setObject("\(wordList?.owner)", forKey: "Owner")
    parseWordList.setObject("\(wordList?.words)", forKey: "Words")
    parseWordList.setObject("\(wordList?.isSharedDate)", forKey:     "IsSharedDate")
    parseWordList.setObject("\(wordList?.isShared)", forKey: "IsShared")
    parseWordList.setObject("\(wordList?.createdDate)", forKey: "CreatedDate")
    parseWordList.setObject("\(wordList?.isAppList)", forKey: "IsAppList")

    parseWordList.saveInBackgroundWithBlock { (succeeded, error) -> Void in
        if succeeded {
            print("object uploaded")
        } else {
            print("Error: \(error) \(error?.userInfo)")
        }
    }

对于大多数项目,这可以正常上传,但是与wordList相关的单词和所有者没有保存。 在此处输入图片说明

是否可以在Parse中使用这样的关系属性? 然后,我将如何将共享的wordList及其所有属性从Parse返回到CoreData?

在此先感谢任何人的帮助。

此代码"\\(wordList?.words)"正在获得关系内容的可读描述。 这是受管理对象的NSSet的日志描述。 这就是为什么您在解析数据存储中基本上变得乱七八糟的原因。

您真正想要做的是获取关系,然后询问每个项目的name 您可以使用KVC做到这一点。 如果有,它将是一个NSSet字符串,可用于直接存储。

可以说,在解析数据存储中有多个不同的类来匹配您的核心数据模型中的实体会更好。 如果这样做,则可以处理关系项目以在解析数据存储中创建新对象,然后添加它们(一旦保存)以解析关系。

还可以使用REST接口与RestKit之类的库进行解析,以将解析数据存储中的内容直接映射到核心数据中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM