gpt4 book ai didi

ios - 从 PubNub 服务器检索最新的 10 条消息

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:04:38 24 4
gpt4 key购买 nike

根据最新的 PubNub 3.6.2 documentation ,我正在使用以下方法检索 channel 中发送的最新 10 条消息:

PNDate *now = [PNDate dateWithDate:[NSDate date]];
[PubNub requestHistoryForChannel:self.currentChannel from:nil to:now limit:10 reverseHistory:YES includingTimeToken:YES withCompletionBlock:^(NSArray *retrivedMessages, PNChannel *channel, PNDate *beginDate, PNDate *endDate, PNError *error) {
...}];

我的问题是,在此 channel 中发送了 10 条消息后,此方法将仅检索 10 条消息,而不是最新的 10 条消息。我认为使用 from:nil to:now 总是会收到最新消息,并且想知道我是否遗漏了什么?

谢谢

最佳答案

钢琴家,

您收到前 10 条消息的原因是您指定了 reverseHistory:YES。这具有从最早的消息开始遍历消息历史的效果。

例如,如果我的消息队列是:1,2,3,4,5,6,8,9,10(其中 1 是最旧的消息, 10 是最新消息)。

[PubNub requestHistoryForChannel:self.currentChannel from:nil to:now limit:3 reverseHistory:YES includingTimeToken:YES withCompletionBlock:^(NSArray *retrivedMessages, PNChannel *channel, PNDate *beginDate, PNDate *endDate, PNError *错误) {
...}];

应该返回:[1,2,3]

通过设置reverseHistory:NO,调用应该是队列中的最新消息。

所以基于前面的例子:

[PubNub requestHistoryForChannel:self.currentChannel from:nil to:now limit:3 reverseHistory:NO includingTimeToken:YES withCompletionBlock:^(NSArray *retrivedMessages, PNChannel *channel, PNDate *beginDate, PNDate *endDate, PNError *错误) {
...}];

应该返回:[8,9,10]

关于ios - 从 PubNub 服务器检索最新的 10 条消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24193920/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com