小编Mat*_*nsc的帖子

解析本地数据存储 + 网络同步

自 6 个月以来,我将 Parse.com 与我的 iOS 应用程序(用 Swift 编写)一起使用,出于多种原因,我想使用 Parse 本地数据存储:

  • 使我的应用程序离线可用(可检索)
  • 减少数据使用(许多查询返回“未更新的数据”)
  • 减少加载时间(主要是在启动应用程序和从网络加载所有数据时)

为了做到这一点,我想编写一个全局函数来处理我在应用程序中执行的所有查询的这些场景。

我已经对函数应该做什么有了一个具体的想法,但我不知道如何在技术上编写这个函数:)

场景:

  • 注册/登录(链接多个查询):

    1. 从网络获取数据
    2. 在 NSUserDefaults 中的 « lastUpdateLocalDatastore » 变量中保存日期
    3. 在本地数据存储中固定数据
    4. 显示来自本地数据存储区的数据 —> 返回并更新 TableView
  • 加载应用程序(链式多个查询):

    1. 显示来自本地数据存储区的数据 —> 返回并更新 TableView
    2. 从网络获取数据(Parse 中的 « lastUpdateDate » 比 NSUserDefault 中的 « lastUpdateLocalDatastore » 新)
    3. 在本地数据存储中固定数据
    4. 显示来自本地数据存储区的更新数据 —> 返回并更新 TableView
  • 触发更新(简单查询):

    1. 从网络获取数据(Parse 中的 « lastUpdateDate » 比 NSUserDefault 中的 « lastUpdateLocalDatastore » 新)
    2. 在本地数据存储中固定数据
    3. 显示来自本地数据存储区的更新数据 —> 返回并更新 TableView
  • 登出 :

    1. 取消固定本地数据存储中的所有数据
    2. 清除 NSUserDefault 中的 « lastUpdate » …

ios parse-platform swift local-datastore

2
推荐指数
1
解决办法
1477
查看次数

解析云代码链承诺

我正在尝试清理我的 Parse Cloud Code 函数以使其更易于维护。为此,我尝试使用 Promises,但无法消除错误。

这是我的代码的目的:

  • 递减User1 的分数
  • User2推送通知,说 --> User1.name要求您:操作

实际云代码(工作):

Parse.Cloud.useMasterKey();
var action = request.object.get("action");
var from = request.object.get("from");
var to = request.object.get("to");
var reward = request.object.get("reward");

// Query 'from User' to decrement his score
var queryScore = new Parse.Query(Parse.User);
queryScore.get(from.id, {
  success: function(score)
  {
    // Decrement score of 'fromUser'.
    var newScore = score.get("score");
    newScore -= reward;
    score.set("score", newScore);

    score.save(null, {
      success: function(success)
      {
        // Score was saved.
        // Find devices …
Run Code Online (Sandbox Code Playgroud)

javascript promise parse-platform parse-cloud-code

1
推荐指数
1
解决办法
569
查看次数