[英]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.