2015-11-05 73 views
1

在使用自定義對象數組的Parse中似乎存在某種緩存問題。這是一個link這個問題的裸骨頭例子。讓我來形容梗概應用程序,那麼問題:存儲在自定義對象中的自定義對象數組的明顯分析緩存問題

應用:

簡單的聊天應用程序有一個通道,唯一的功能是顯示所有郵件,並添加郵件。我有一個自定義類'消息'和'聊天'(它存儲消息數組)。消息顯示在UITableView中,並且有一個按鈕可以使用查詢「重新加載」聊天。該查詢使用'includeKey'來確保包含消息數組。當應用程序啓動時,如果沒有聊天存在,它將創建一個帶有空白消息數組的消息。

這個應用程序從Parse Starter Project中唯一的改變是:Chat.swift,Message.swift,AppDelegate.swift(設置應用程序ID和註冊子類),ViewController.swift和storyboard。

問題:

查詢似乎檢索緩存的數據(即不與數據更新更新)。

從我的測試中,生成「聊天」對象的設備最初不會出現此問題。但是,最初沒有生成「聊天」對象的設備確實存在這個問題。

步驟以重現此問題:

  1. 下載示例代碼here
  2. 您將需要兩個設備。在第一個設備(設備A)上安裝應用程序。請注意,查詢返回時沒有生成一個「聊天」對象。在Parse Core中檢查這個「聊天」對象是否生成。
  3. 在其他設備上運行應用程序(設備B)這次查詢返回一個聊天對象。
  4. 通過點擊加號按鈕在Device A上添加一條消息,然後保存。注意這將保存消息,然後重新加載查詢和表。仔細檢查消息是否保存在Core中。
  5. 重新載入設備B上的表 - 應該出現消息。大!
  6. 在Device B上添加一條消息,與步驟3相同。消息應該由查詢返回。仔細檢查消息是否保存在Core中。
  7. 重新裝載設備A上的表 - 嗯?該消息未顯示。三重檢查消息是否保存在Core中。那是對的?爲什麼不查詢返回它?
  8. 刮頭。
  9. 再次在Device A上構建並運行應用程序 - 現在消息確實出現。什麼?這是一個緩存問題嗎?

附加診斷注意事項:

在我的實際應用程序,我已實施20條消息的限制,而第一條消息已被刪除後。我注意到在我開始刪除郵件之後,這個明顯的緩存問題就停止了。

回答

相關問題