簡體   English   中英

解析本地數據存儲區僅返回一個對象

[英]Parse Local Datastore returns only one object

我有以下代碼:

var episodesToSendToParse = [PFObject]()
let currentPodcast = PFObject(className: "Podcast")

currentPodcast["name"] = name
currentP["user"] = PFUser.currentUser()

for episode in episodes {
  let episodes2 = PFObject(className: self.episodesClass)
  episodesToParse["title"] = episode.title
  episodesToParse["parent"] = currentPodcast
  episodesToSendToParse.append(episodes2)
}

PFObject.pinAllInBackground(episodesToSendToParse).continueWithBlock { (task: BFTask!) -> AnyObject! in
        if let error = task.error {
            print(error)
            return task;
        }
        print("finished pinning")
        return task;
    }

PFObject.saveAllInBackground(episodesToSendToParse).continueWithBlock { (task: BFTask!) -> AnyObject! in
        if let error = task.error {
            print(error)
            return task;
        }
        NSNotificationCenter.defaultCenter().postNotificationName("podcastSaved", object: self)
        print("finished saving")
        return task;
    }
}

它可以很好地保存到Parse的服務器。 播客情節也保存在本地,但是播客本身覆蓋了我之前保存的任何其他播客,導致我的表視圖始終僅加載1個條目。 我認為這可能是由於以下原因(摘自parse.com):

啟用本地數據存儲有一些副作用,您應該注意。 啟用后,任何給定PFObject都只有一個實例。 例如,假設您有一個“ GameScore”類的實例,其對象標識為“ xWMyZ4YEGZ”,然后對帶有該對象標識的“ GameScore”的所有實例發出了PFQuery。 結果將是您已經在內存中的對象的相同實例。

但是我不知道該如何解決。

我正在運行解析1.10.0

您在代碼中有錯字。

替換為:

for episode in episodes {
  let episodes = PFObject(className: self.episodesClass)
  episodesToParse["title"] = episode.title
  episodesToParse["parent"] = currentPodcast
  episodesToSendToParse.append(episodesToParse)
}

有了這個:

for episode in episodes {
  let episodes = PFObject(className: self.episodesClass)
  episodes["title"] = episode.title
  episodes["parent"] = currentPodcast
  episodesToSendToParse.append(episodes)
}

這是一個解析錯誤。 請參閱: #535

使用pinAllInBackground(objects: [PFObject]?, withName: String)是一種解決方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM