2017-10-28 2 views
0

새 사용자가 보낸 새 메시지 나 새 메시지를받을 수 없어서 이미 테이블 뷰에있는 사용자가 가장 좋아하는 것으로 이동하는 것처럼 보입니다. 메시징 앱 그리고 친절하게도 누군가가 나 (How do you properly order data from Firebase chronologically)를 보낼 수있는 링크의 지시를 따르도록 시도하기 전에 나는이 질문을했습니다하지만 난 아직도 내가tableview가 테이블 상단에 새 요소 또는 업데이트 요소를 표시하게하는 방법 PT2

func getChatsFeed(){ 
//following the links instruction "timeStamp" is suppose help return fireBase children in reverse order. "atValue: time" is a value for the time when my viewDidload. 
    let queryChats = Database.database().reference().queryOrdered(byChild: "timeStamp").queryEnding(atValue: time, childKey: "timeStamp") 

    queryChats.observe(.childAdded) { (snapshot) in 

     if let snapvalue = snapshot.value as? Dictionary<String,Any>, let 
      sender = snapvalue["sender"] as? String, let receiver = 
      snapvalue["receiver"] as? String, let message = snapvalue["messageBody"] as? 
      String, let key = snapvalue["key"] as? String, let timeStamp = snapvalue["timeStamp"] as? String{ 

      let newMessage = FeedMessage(sender: sender, receiver: receiver, messageBody: message, key: key, timeStamp: timeStamp) 

      feedUpdate.append(newMessage) 
      self.chatsTableView.reloadData() 

     } 


    } 
} 

링크를 시도 문제에 상관없이 원하는 효과를 얻을 수 없습니다 나는 StackOverflow 사용자의 많은 문제에 대한 해결책을 제시해 주셔서 칭찬을 받으 셨습니다. 아마도 어딘가에서 엉망이되어 버렸을 것입니다. 모든 Firebase 메소드를 완전히 아는 것이 아닙니다. 누구 포인터? 데이터가 feedUpdate에로드, 당신이 사용했던 다른 방법으로

+0

그래서 모든 테이블에 나타나는 새로운 데이터인가? –

+0

이 방법을 사용하지 마십시오. 하지만 다른 사람들이 접근 해왔다. 비록 내가 원하는 것처럼 tableView를 채우지 만 새로운/변경된 데이터 소스 요소를 tableView 맨 위로 옮기지 않는다. – KarmaDeli

+0

인쇄 할 때 분류됩니까? – Torewin

답변

0

, 단순히 이렇게 :

chatsTableView.reloadData() 
    let indexPath:IndexPath = IndexPath(row:0, section:0) 
    chatsTableView.scrollToRow(at: indexPath, at: UITableViewScrollPosition .top, animated: true) 
+0

@MM 문제에 대해 명확하지 않은 점에 대해 사과드립니다. 새 데이터가 데이터 소스를 변경하면 셀의 데이터가 변경되기를 바랍니다. 예를 들어 사용자로부터 초기 메시지를 받고, 이미 채팅 한 사용자. 당신의 아이폰에있는 메시지 앱을 끌어 올 수 있다면 - 나는 그 앱에서 초기 TableViewController의 동작을 모방하려고 노력하는 것이 필수적입니다. 귀하의 답변은 자리에있는 것처럼 보이지만 이미 아이폰의 메시지 앱에서 메시지를 누를 때로드되는 VC를 모방 한 1 대 1 메시지 VC에서 성공적으로 구현되었습니다. – KarmaDeli

관련 문제