Ios 仅从解析中获取不同的数据
我正在尝试更新Ios 仅从解析中获取不同的数据,ios,swift,parse-platform,fetch,Ios,Swift,Parse Platform,Fetch,我正在尝试更新PFObjects的数组。据我所知,fetchAll()(在其异步派生中)是更新所有对象的正确方法,因为fetchallifneed()只会更新尚未与它们关联的PFObjects。但是,每次执行fetchAll()时,将再次下载PFObjects的整个列表,无论是否进行了任何更改。例如,如果我有一个帖子列表,我想检查是否对帖子进行了任何编辑,在任何情况下,所有帖子的全部(文本、图片等)都将被下载,而不管一篇帖子的文本是否经过简单编辑,或者是否有任何编辑。下载PFObject的一个属
PFObjects
的数组。据我所知,fetchAll()
(在其异步派生中)是更新所有对象的正确方法,因为fetchallifneed()
只会更新尚未与它们关联的PFObjects
。但是,每次执行fetchAll()
时,将再次下载PFObjects
的整个列表,无论是否进行了任何更改。例如,如果我有一个帖子列表,我想检查是否对帖子进行了任何编辑,在任何情况下,所有帖子的全部(文本、图片等)都将被下载,而不管一篇帖子的文本是否经过简单编辑,或者是否有任何编辑。下载PFObject
的一个属性的文本和下载整个属性数组(许多属性包括图片)在数据消耗上有很大的不同,因此我想找到一种只下载更改的方法。这可能吗
此外,如果这是可能的,是否有一种方法可以让我获得需要更新的PFObjects
列表?i、 例如,如果文章4和12需要在20个数组中进行更新,我怎么知道呢
谢谢。fetchAll顾名思义-获取所有对象。您可以对updatedAt列使用PFQuery来检索自特定日期/时间以来已更新的对象。您需要在本地跟踪上一次更新的日期/时间,例如使用NSUserDefaults-
let query=PFQuery.queryWithclassName("MyClass")
let defaults=NSUserDefaults.standardUserDefaults()
if let lastUpdateDate=defaults.objectForKey("lastUpdateDate") as? NSDate {
q.whereKey("updatedAt",greaterThan:lastUpdateDate)
}
q.findObjectsInBackgroundWithBlock({(objects:[AnyObject]!, error: NSError!) in
if(error == nil) {
defaults.setObject(NSDate(),forKey:"lastUpdateDate")
for object in objects {
...
}
} else {
//Do something with error
}
})
fetchAll顾名思义——获取所有对象。您可以对
updatedAt
列使用PFQuery来检索自某个日期/时间以来已更新的对象。您需要在本地跟踪更新日期/时间,但有没有办法只下载服务器端已更改的对象?是的,在上次检查后,对更新时间为的对象发出PFQuery。响应将是已更新的对象。噢。我现在明白了。谢谢如果您将此添加为答案,我可以将其标记为正确。@A请注意,我最初的小于,这应该大于