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