我正在编写一个支持 Parse 的应用程序,它会下拉包含在类别中的媒体对象目录(具有属性和关联的 PFFile)。 (一个对象可以有很多类别,一个类别有很多对象)。
该应用程序在线运行非常好,并且通过使用 Parse Cache 它还具有一些离线功能。 (即,如果您离线时,您选择查看之前在线时查看过的类别中的所有对象 - 然后会显示一些结果)。
但是,我需要让用户在离线时能够访问他们之前在线时未查看过的类别中的对象。 (即能够执行未缓存的查询)。我最初编写了一个启动/同步过程,它将对类别和对象执行“fetchAll” - 希望这将为我提供对所有内容的离线访问。但是,情况似乎并非如此,因为当我在离线时执行新的过滤查询时,我没有得到任何结果。 (基本上是这里描述的问题:https://parse.com/questions/offline-subquery-of-a-cached-query)。
所以我的问题是,实现这一目标的最佳方法是什么?我考虑了几个不同的选择:
Ray Wenderlich 有一个关于为核心数据创建同步处理程序的教程 - Parse。但这似乎很复杂,并且不处理关系,这对于这个问题至关重要
https://github.com/itsniper/FTASync - 还没有深入研究
每次重用 fetchAll 查询结果,然后过滤结果数组。但是,这可能会很慢,而且离线时我不会有每个对象的 PFRelations。
在启动/同步时运行所有可能的查询,以便我始终可以离线获得结果。但是,应用程序最终会在类别中包含类别,因此这可能是合理数量的查询。
欢迎提出任何意见/建议。
谢谢
Best Answer-推荐答案 strong>
根据我在类似案例中使用 Parse 的经验,我在缓存查询中获取所有数据,然后,我必须在代码中使用 NSMutableArrays 过滤/排序/等数组,因为我需要自己。
我认为目前无法通过离线缓存查询抛出查询。
只有一件事:请记住 Parse 查询的结果限制为 1000 个。默认设置为 100,但您可以使用 setLimit 对其进行修改。如果您有超过 1000 个结果,您可以使用 setSkip 方法在不同的查询中获取它们..
希望对你有帮助
关于ios - 解析、离线缓存整个目录(iOS 应用程序),我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/16834181/
|