【问题标题】:Apparent Parse caching issue with Array of Custom Objects stored in Custom Object存储在自定义对象中的自定义对象数组的明显解析缓存问题
【发布时间】:2015-11-06 23:58:49
【问题描述】:

Parse 中似乎存在某种缓存问题,其中包含自定义对象数组。这是此问题的简单示例的link。让我描述一下简单的应用程序,然后是问题:

应用:

一个频道的简单聊天应用程序,唯一的功能是显示所有消息,并添加消息。我有一个自定义类“消息”和“聊天”(存储消息数组)。消息显示在 UITableView 中,并且有一个使用查询“重新加载”聊天的按钮。该查询使用“includeKey”来确保包含消息数组。当应用启动时,如果不存在聊天,它会创建一个带有空白消息数组的聊天。

Parse Starter Project 对该应用程序的唯一更改是:Chat.swift、Message.swift、AppDelegate.swift(用于设置应用程序 ID 和注册子类)、ViewController.swift 和故事板。

问题:

查询似乎检索缓存的数据(即它不会随着数据中的更新而更新)。

根据我的测试,生成“聊天”对象的设备最初不会出现此问题。但是,最初未生成“聊天”对象的设备确实存在此问题。

重现此问题的步骤:

  1. 下载示例代码here
  2. 您将需要两台设备。在第一台设备(设备 A)上安装应用程序。请注意,当查询返回时没有生成一个“聊天”对象。仔细检查 Parse Core 是否生成了这个“聊天”对象。
  3. 在另一台设备(设备 B)上运行应用程序这次查询返回一个 Chat 对象。
  4. 通过点击加号按钮在设备 A 上添加消息,然后保存。请注意,这会保存消息,然后重新加载查询和表。仔细检查消息是否保存在 Core 中。
  5. 在设备 B 上重新加载表 - 应该会出现消息。太好了!
  6. 在设备B上添加消息,同步骤3。消息应该由查询返回。仔细检查消息是否保存在 Core 中。
  7. 在设备 A 上重新加载表 - 嗯?该消息未出现。三重检查消息是否保存在核心中。那是对的?为什么查询不返回?
  8. 刮头。
  9. 再次在设备 A 上构建并运行应用程序 - 现在确实出现了消息。什么?这是缓存问题吗?

其他诊断说明:

在我的实际应用中,我实施了 20 条消息的限制,之后第一条消息被删除。我注意到,在我开始删除消息后,这个明显的缓存问题就不再发生了。

【问题讨论】:

    标签: ios parse-platform


    【解决方案1】:

    在 github 问题中解决的问题: https://github.com/ParsePlatform/Parse-SDK-iOS-OSX/issues/518

    Parse SDK 中的一个问题已在当前 master 中解决,并将包含在下一个版本中。

    【讨论】:

      猜你喜欢
      • 2019-07-28
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 2013-03-02
      • 1970-01-01
      • 1970-01-01
      • 2017-08-30
      • 2011-08-04
      相关资源
      最近更新 更多