【发布时间】:2018-05-03 10:29:27
【问题描述】:
我正在使用 Firebase 来检查用户是否正在输入。
但每次我从 Firebase 查询值时。价值观的种类不同。我的意思是,有时值是一个数组、一个字典、一个具有空值的数组......所以当我试图解析那个值时,我的应用程序崩溃了。
这是我的代码:
- (void)listenUserTypingGate {
__weak typeof(self)this = self;
[[_userTypingRef queryOrderedByKey] observeEventType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) {
if (this && snapshot.exists) {
NSDictionary* typingData = snapshot.value;
NSLog(@"ref: %@", _userTypingRef);
NSLog(@"ref query: %@", [_userTypingRef queryOrderedByKey]);
NSLog(@"data: %@", typingData);
}
}];
}
结果:
- 我去对话1。它是一个数组
参考:https://testfir-199902.firebaseio.com/test-test/user_typing/0_1
参考查询:(/test-test/user_typing/0_1 { i = ".key"; })
数据:( { 头像 = ""; “用户打字”= 0; 用户名 = Oanh; }, { 头像 = ""; “用户打字”= 0; 用户名 = "B\U00e9o"; } )
- 对话2:它是一个数组+空值
参考:https://testfir-199902.firebaseio.com/test-test/user_typing/2_3
参考查询:(/test-test/user_typing/2_3 { i = ".key"; })
数据:( "", "", { 头像 = ""; “用户打字”= 0; 用户名 = "H\U1ea1nh"; }, { 头像 = ""; “用户打字”= 0; 用户名 = "L\U00f9n"; } )
- 对话 3:它是一本字典
参考:https://testfir-199902.firebaseio.com/test-test/user_typing/4_5
参考查询:(/test-test/user_typing/4_5 { i = ".key"; })
数据:{ 4 = { 头像 = ""; “用户打字”= 0; 用户名 = "Ti\U1ebfn"; }; 5 = { 头像 = ""; “用户打字”= 0; 用户名 = "L\U00ea"; }; }
【问题讨论】:
标签: ios objective-c firebase firebase-realtime-database