解析& Swift - 如何减少服务器负载/请求?

时间:2017-03-09 02:31:28

标签: ios swift performance parse-platform

我一直在开发一个具有主页的应用程序,类似于Instagram的主页,其中当用户滚动时,评论的数量显示在帖子下方。一旦用户点击带有注释数量的标签,实际注释就会加载到屏幕上。我一直在尝试使用我的应用程序实现类似的功能,但我觉得我正在使用的方法就是向服务器发送许多请求(查询)以获取注释的数量显示在每个帖子下方。我想知道是否有更有效/简洁的方法来减少服务器负载,但仍然具有相同的效果。

添加更多上下文(注意:我使用Parse):

  • 我有一个名为Posts的类,其中包含帖子
  • 我有一个名为Comments的类,其中包含所有提交的注释。为了获得特定帖子的评论,我查询了评论(其中有一个名为:" parentObjectID"的列),其列(" parentObjectID")与父帖子&#39匹配; s对象ID。

示例代码如下:

    let query = PFQuery(className: "Comments")
    query.whereKey("parentObjectID", equalTo: objectIDs[indexPathNums])

    query.order(byDescending: "createdAt")

    query.findObjectsInBackground { (objects, error) in
        if error != nil {
            print("An error occured (USQVC Comments Query)")
        }else {

            if let tempArray = objects {
                for comment in tempArray {

                    if let x = comment {

                        myArray.append(x)
                    }



                }
                commentsCount = myArray.count
                myArray.removeAll()
            }

        }
    }

即使他们已经更新了他们的用户界面,但我只是想要包含一张图片,以防我所描述的内容不清楚:

enter image description here

如果有人能帮我解决这个问题,我会很感激。谢谢!

1 个答案:

答案 0 :(得分:2)

正如您在上面的评论中所指出的,您当然可以使用函数incrementKey来增加numberOfComments

最好的部分是,这种方法是原子的,这意味着无论有多少人同时喜欢同一个帖子,比如5个人在同一时间喜欢照片,numberOfComments将增加5而不是1.

所以这个函数将逐个执行而不是同时执行。你绝对可以使用它。