2015-01-07 111 views
1

QuickBlox只返回50條聊天消息,我知道這是一個已知的限制,如果我沒有指定extendedRequest LIMIT和SKIP,但我的問題是我想要LAST 50消息而不是前50個消息。我嘗試了extendedRequest[@"sort_desc"] = @"last_message_date_sent",但QB正在返回隨機消息,而不是最後一個,而不是第一個。QuickBlox歷史記錄只返回第一條消息

此問題也發生在Q-Municate中。我與朋友創建了一個聊天並向他發送了N封郵件,並且只有最初的幾封郵件被返回。

那麼,有沒有辦法只返回最後50條消息?

回答

2

我發現從伊戈爾Khomenko的答案在本主題:Quickblox messaging fetch last n messages

和應用。這是正確的,我改進顛倒磁盤陣列和信息,正確地展現給用戶:

NSMutableDictionary *extendedRequest = [NSMutableDictionary new]; 
NSDate *now = [NSDate date]; 
extendedRequest[@"date_sent[lte]"]= @([now timeIntervalSince1970]); 
extendedRequest[@"sort_desc"]= @"date_sent"; 

//get the most recent 50 messages 
extendedRequest[@"limit"] = @(100); 

,當我有填充陣列,我只是反其道而行:

[[self.messages reverseObjectEnumerator] allObjects]; 

一切很好!

伊戈爾,同樣的問題發生在Q-Municate,並感謝您的幫助。

+0

我沒有通過使用[[self.messages reverseObjectEnumerator] allObjects]獲得反向消息數組; 你能告訴我我做錯了什麼嗎? – morroko