Я пытаюсь извлечь данные из firebase и пробовать различные решения, но значение моментального снимка возвращает значение null. Данные создаются с помощью «childbyAutoID», и я хочу получить его с помощью текущего uid.Не удалось получить данные из firebase
Ниже приведены три решения, я попытался
Решение 1:
NSString *ID = [FIRAuth auth].currentUser.uid;
[[[self.databaseRef child:@"User-Subscription"] child:ID] observeSingleEventOfType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) {
NSDictionary *childData = snapshot.value;
NSLog(@"%@",childData); //Returns null
// ...
} withCancelBlock:^(NSError * _Nonnull error) {
NSLog(@"%@", error.localizedDescription);
}];
Решение 2:
NSString *ID = [FIRAuth auth].currentUser.uid; //User ID
[[[self.databaseRef child:@"User-Subscription"] childByAutoId] observeSingleEventOfType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) {
NSDictionary *childData = snapshot.value;
NSLog(@"%@",childData); //Return null
// ...
} withCancelBlock:^(NSError * _Nonnull error) {
NSLog(@"%@", error.localizedDescription);
}];
Раствор 3:
NSString *ID = [FIRAuth auth].currentUser.uid; //User ID
[[[[self.databaseRef child:@"User-Subscription"] childByAutoId] queryEqualToValue:ID]observeSingleEventOfType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) {
NSDictionary *childData = snapshot.value;
NSLog(@"%@",childData); //Return null
// ...
} withCancelBlock:^(NSError * _Nonnull error) {
NSLog(@"%@", error.localizedDescription);
}];
Любая помощь при указании ошибки очень ценится. Благодарю.
У меня такая же проблема. Я попробовал это решение, и я не получил результата. есть ли что-нибудь, что вы делаете с инициализацией databaseRef? Я не могу понять другую причину, по которой моя версия не получает сообщений. –
Я ничего не делаю с инициализацией databaseRef, но вам также нужна аутентификация. Как, я использую FB логин с firebase, поэтому он автоматически аутентифицирован. Также вам нужно проверить свое дочернее имя, чтобы оно было написано правильно. – WasimSafdar