簡體   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