Ios 解析本地数据存储只返回一个对象
我有以下代码:Ios 解析本地数据存储只返回一个对象,ios,swift,parse-platform,relationship,Ios,Swift,Parse Platform,Relationship,我有以下代码: var episodesToSendToParse = [PFObject]() let currentPodcast = PFObject(className: "Podcast") currentPodcast["name"] = name currentP["user"] = PFUser.currentUser() for episode in episodes { let episodes2 = PFObject(className: self.episodes
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;
}
}
解析服务器可以节省大量时间。播客片段也保存在本地,但播客本身覆盖了我以前保存的任何其他播客,导致我的tableview总是只加载1个条目。我认为这可能是因为以下原因(摘自parse.com):
启用本地数据存储有几个副作用,您应该注意这些副作用。启用时,任何给定PFObject只有一个实例。例如,假设您有一个objectId为“xWMyZ4YEGZ”的“GameScore”类实例,然后您为所有objectId为“GameScore”的“GameScore”实例发出PFQuery。结果将是与内存中已有的对象相同的实例
然而,我不知道如何补救
我正在运行Parse 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)
}
这是一个解析错误。见:
使用
pinAllInBackground(objects:[PFObject]?,withName:String)
是一种变通方法。注释是关于其他事情的。这意味着,如果您更改并保存PFObject
的实例,则本地数据存储区将不会存储旧实例和新实例,而只存储新实例。没有任何改变。你是对的,我编辑了粘贴在这里的代码,不让它太长,但忘记了这一点。但是xcode中没有输入错误,所以这不是问题所在