1
我有一羣聊天室,裏面有一羣用戶。當其中一個用戶離開時,chatRoomDidChangeOnlineUsers
確實被呼叫,但仍留在onlineUsers
陣列中的用戶出現。這是我如何讓其他用戶離開房間。 (我甚至註銷用戶,看它是否改變任何東西,但事實並非如此。)chatRoomDidChangeOnlineUsers在離開房間後不會刪除用戶
[[QBChat instance] leaveRoom:myRoom];
[[QBChat instance] logout];
[presenceTimer invalidate]; //the timer that sends the [QBChat instance] presence
所以不應該顯示誰當前離開用戶的代表?用戶加入房間時可以正常工作。
'myRoom'當然不是零,當委託被調用時,以及在'chatRoomDidEnter'中,我得到它的名稱和JID。我只是想澄清一下,代理'chatRoomDidChangeOnlineUsers'不會在另一個用戶離開房間時被調用,它只是未更新的'onlineUsers'列表。 – hd5
你認爲我可以通過在chatRoomDidChangeOnlineUsers被調用後手動請求房間用戶來解決這個問題嗎?我只是表示明確要求在線用戶,[[QBChat實例] requestRoomOnlineUsers:myRoom]',以便我可以獲得最新的在線用戶 – hd5
我嘗試了上述方法,但由於我使用自定義暱稱'requestRoomOnlineUsers: '爲每個用戶返回0而不是他們的用戶ID(這表明我是否不使用自定義暱稱)。這是否應該發生? – hd5