【发布时间】:2017-10-29 21:06:49
【问题描述】:
我正在尝试搜索以查看用户键入的电子邮件是否存在于数据库中,而不是我对路径进行硬编码。例如,我的第一个孩子被称为“用户”,然后它显示一个自动 ID,然后是“电子邮件”,然后是用户电子邮件。问题是如果我搜索用户和电子邮件应用程序将崩溃,它需要唯一的 ID。我只想检查所有电子邮件以了解用户输入的电子邮件是否存在
- (IBAction)signIn:(id)sender {
FIRDatabaseReference *usersRef = [[FIRDatabase database] reference];
[[[[usersRef child:@"User"] child:@"-Kx_mPZvAzxZ9U3U0VXq"] child:@"Email"] observeEventType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) {
NSString *record = snapshot.value;
if(record.length > 0) {
NSLog(@"%@", record);
}else{
NSLog(@"NO");
}
}
];}
【问题讨论】:
-
我认为
NSString *record = snapshot.value是检查snapshot的错误方法。snapshot可以是NSDictionary、NSArray、NSNumber、NSString。如果snapshot不是NSString并且您使用record.length,它将导致崩溃。尝试使用[snapshot exists]查看快照。 -
如果它不起作用,你能告诉我错误吗?
标签: ios objective-c firebase firebase-realtime-database