gpt4 book ai didi

ios - Firebase 回调不会触发

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:08:30 26 4
gpt4 key购买 nike

我有这个 Firebase 引用,可以通过传递上次读取消息的优先级来检索所有待处理(未读)消息。我在聊天室中执行此操作。

NSNumber* lastPriority = [self getLastPriority];
__block FirebaseHandle handle = [[msgListRef queryStartingAtPriority:lastPriority] observeEventType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) {

// here I will get all the pending messages and add them to my local message list and reload the UITableView
[self addMessageToList: snapshot]
[msgListRef removeObserverWithHandle:handle];
// Then I call the below function to keep listening for new messages when the chat is in progress
[self addMessageListener];

}];



- (void) addMessageListener{
msgListRef = [[Firebase alloc] initWithUrl:messageListUrl];
NSNumber* lastPriority = [self getLastPriority];
[[msgListRef queryStartingAtPriority:lastPriority] observeEventType:FEventTypeChildAdded withBlock:^(FDataSnapshot *snapshot) {

[self addMessageObject:snapshot.value];
// Here I will reload the table view. This one is supposed to fire for each
//message since I used FEventTypeChildAdded.
//*** BUT THIS CALLBACK IS NEVER FIRED ***

}];
}

知道为什么在我之前已经调用 FEventTypeValue 时使用 FEventTypeChildAdded observerType 的第二个回调永远不会被触发吗?如果我不使用 FEventTypeValue 阅读所有内容,它会起作用。但在这种情况下,当用户进入聊天室时,我的 UITableView 会为每条未决消息调用重新加载。

最佳答案

对不起各位。问题出在我的代码上。 firebase 引用 (msgListRef) 在另一个我没有注意到的函数中被重新初始化。

关于ios - Firebase 回调不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20995413/

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