Parse platform 错误:";“包含”对于非解析对象无效;(使用parse-osx-library-1.7.5)

Parse platform 错误:";“包含”对于非解析对象无效;(使用parse-osx-library-1.7.5),parse-platform,local-datastore,Parse Platform,Local Datastore,我有一个用餐对象,它使用键“MealItems”存储指向n个已创建对象“FoodInfo”的指针 当我查询膳食时,我利用[query includeKey:@“MealItems”]在获取“膳食”时获取指向的项目 如果对象是在联机时创建的(即,所有对象都存储在云数据库中),那么这一点非常有效 但是,由于我无法假设此应用程序可以随时访问云,因此我现在尝试启用本地数据存储,因此我已将查询更改为使用: [查询本地数据存储] 我将所有对象的保存方法都改为pininbackgroundithblock,然

我有一个用餐对象,它使用键“MealItems”存储指向n个已创建对象“FoodInfo”的指针

当我查询膳食时,我利用[query includeKey:@“MealItems”]在获取“膳食”时获取指向的项目

如果对象是在联机时创建的(即,所有对象都存储在云数据库中),那么这一点非常有效

但是,由于我无法假设此应用程序可以随时访问云,因此我现在尝试启用本地数据存储,因此我已将查询更改为使用: [查询本地数据存储]

我将所有对象的保存方法都改为pininbackgroundithblock,然后(假设本地保存成功)saveinbackgroundithblock,最后(假设失败)savefinally

为了测试这一点,我:

  • 关闭wifi
  • 运行代码创建一顿饭,然后向其中添加新创建的食物。这项工作没有错误代码
  • 运行一个报告,然后查询刚刚创建的膳食。此操作失败,原因如下:
错误:错误域=解析代码=121 “包含对非解析对象无效”UserInfo=0x6080007F400{ error=include对于非解析对象无效, NSLocalizedDescription=include对于非解析对象无效, 代码=121 } { NSLocalizedDescription=“包含对非解析对象无效”; 代码=121; error=“include对于非解析对象无效”; } 是否不支持此方案

当我重新启用wifi时,膳食已成功添加到在线数据库,但当我在本地使用includeKey运行查询时,仍会发生查询失败


我是不是遗漏了什么?看到这一失败,我感到十分惊讶。无论是基于本地还是基于云,这似乎都是一个非常基本的功能。

在保存解析对象之前,不会创建解析对象。在使用
pininbackgroundithblock

显示您用于测试的代码之前,请先尝试使用
savefinally
。基本问题不需要显示代码。显然,可以创建一个包含指向其他对象的指针数组的对象A,并在脱机时将它们全部固定到本地数据存储。parse是否支持本地数据存储查询,该查询在通过网络保存任何对象之前通过includekey检索数组中的对象和指向的对象?想知道这是否在任何较新版本上解决过,或者如果有@Gerald,您是否介意共享您的解决方法。在固定对象之前(在没有网络连接的情况下)缩放存储不会改变任何事情。这导致了与我上面报告的完全相同的错误。我猜includekey失败是因为PFObject没有被分配id,并且在通过网络连接保存对象之前,似乎没有进行分配。如果是这样,则使用includekey检索1:n关系对于创建、固定(并最终保存)对象,然后通过使用includekey的查询进行引用的脱机场景是不可用的。 Error: Error Domain=Parse Code=121 "include is invalid for non-ParseObjects" UserInfo=0x60800007f400 { error=include is invalid for non-ParseObjects, NSLocalizedDescription=include is invalid for non-ParseObjects, code=121 } { NSLocalizedDescription = "include is invalid for non-ParseObjects"; code = 121; error = "include is invalid for non-ParseObjects"; }