2017-11-07 26 views
2

の最後のメッセージを表示するためにスウィフトparse.comメッセージングシステムIは、メッセージングシステムを開発していますし、会話リストは、3つの事を表示する必要があります:現在のユーザー別名のメッセージを送った誰の送信側/受信側

最後のメッセージを(私、 sentMessagesQuery.whereKey( "から):または他のユーザー) 他のユーザーの名前、他のユーザの 絵

私は、バックエンドとしてparse.comを使用

sentMessagesQuery = PFQuery(Message.parseClassName(クラス名)しましょう"、equalTo:PFUser.current()!)

let receivedMessagesQuery = PFQuery(className: Message.parseClassName()) 
    receivedMessagesQuery.whereKey("to", equalTo: PFUser.current()!) 

    let query = PFQuery.orQuery(withSubqueries: [sentMessagesQuery, receivedMessagesQuery]) 

    query.includeKey("from") 
    query.includeKey("to") 
    query.order(byDescending: "createdAt") 
    query.findObjectsInBackground(block: {(objects: [PFObject]!, error: Error!)->Void in 

     if(error == nil){ 

      for object in objects as! [Message]{ 

       self.messageArray.add(object) 
      } 

      self.messagerieTable.reloadData() 

     }else{ 
      print("error") 
     } 

    }) 

現在のクエリはすべてのメッセージを表示します。 thx

答えて

0

降順でソートした後の最後のメッセージになるクエリの最初のオブジェクトを返すには、getFirstObjectInBackgroundを使用できます。

query.getFirstObjectInBackground { (parseObject, error) in 
     guard error == nil else { 
      print(error) 
      return 
     } 
     guard let message = parseObject as? Message else { return } 
     self.messageArray.add(message) 
     self.messagerieTable.reloadData() 

    } 
+0

thxしかし、私はすべてのフリードと会話の最後のメッセージを捜すことはありません –

関連する問題