2017-03-09 65 views
0

我一直在開發一個主頁的應用程序,類似於Instagram的評論數量在用戶滾動時顯示在帖子下方。一旦用戶點擊標籤上的評論數量,實際評論就會加載到屏幕上。我一直在試圖實現與我的應用程序類似的東西,但我感覺好像我正在執行此操作的方法發送到服務器的許多請求(查詢),以便獲得下面顯示的註釋數每篇文章。我想知道是否有更高效/簡潔的方法可以減少服務器負載,但仍然具有相同的效果。解析&Swift - 如何減少服務器負載/請求?

要添加更多的內容(注:我使用的解析):

  • 我有一個名爲的帖子類,它包含了崗位
  • 我有一個類名爲評論它包含了所有的提交的意見。爲了獲取特定帖子的評論,我查詢其列(「parentObjectID」)與父帖子的對象ID匹配的評論(其具有名爲「parentObjectID」的列)。

示例代碼如下:

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() 
      } 

     } 
    } 

即使他們已經更新了自己的UI,我只是想以包括情況下畫面是什麼,我描述不清楚:

enter image description here

如果有人能幫我解決這個問題,我會很感激。謝謝!

+0

您可以將一些評論數量映射到帖子讓我們說20個。如果用戶滾動到20,您可以撥打電話以獲得其餘的評論。應該在Parse Server API中進行映射。 – adnbsr

+0

感謝您的回覆!看完後,這實際上讓我思考。另一個解決方案可能是爲每個帖子添加一個名爲numOfComments的列。每次用戶添加評論時,都會提取,增加和保存號碼。這將允許在沒有太多服務器請求的情況下在主頁面上顯示評論的總數。我可以預見的唯一問題是,如果2+用戶同時保存帖子,或者連接速度較慢的用戶導致該數字從最近更新時的數量減少到連接加載時。 – Gabe

回答

2

正如您在上面的評論中指出的那樣,您當然可以使用函數incrementKey來遞增numberOfComments

最好的部分是,這種方法是原子,這意味着無論有多少人喜歡在同一時間同一職位,說5人喜歡在完全相同的時間,照片,numberOfComments將通過5,而不是1遞增。

所以這個函數將被逐個執行而不是同時執行。你絕對可以使用它。

+0

感謝您的回覆!我結束了使用該方法,它完美的作品。聽說在多個用戶同時遞增'numberOfComments'時,不會有任何問題。 – Gabe

相關問題