【问题标题】:How get data in Firebase?如何在 Firebase 中获取数据?
【发布时间】:2017-09-18 14:12:19
【问题描述】:

我是 Firebase 的新手。我尝试在数据库中获取数据,但我的代码不起作用。这是我的代码:

- (void) getData{

    FIRDatabaseReference *ref = [[FIRDatabase database] reference];

    //READ DATA

    [[[ref child:@"buysell"] child:@"users"]  observeEventType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) {
        NSDictionary *dict = snapshot.value;
        NSLog(@"%@",dict);
    } withCancelBlock:^(NSError * _Nonnull error) {

    }];
}

它无法跳转到withBlock:^(FIRDataSnapshot * _Nonnull snapshot)。似乎有什么问题?请帮我。谢谢。

【问题讨论】:

  • 你配置好了吗?我的意思是根据他们的指导方针。
  • 我关注google的文件。link

标签: ios objective-c firebase firebase-realtime-database


【解决方案1】:

将其移至 viewDidLoad FIRDatabaseReference *ref = [[FIRDatabase 数据库] 参考];

  1. 检查您是否按照文档配置了所有内容。

  2. 检查键名

  3. 如果一切正常,请尝试更改此设置 尝试使用 observeSingleEventOfType 而不是 observeEventType

    [[[self.ref child:@"buysell"] child:@"users"] observeSingleEventOfType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) {
         NSDictionary *dict = snapshot.value;
         NSLog(@"%@",dict);
    
    } withCancelBlock:^(NSError * _Nonnull error) {
        NSLog(@"%@", error.localizedDescription);
    }];
    
  4. 如果以上 3 条不起作用,请检查您的错误声明

【讨论】:

  • 谢谢你。这是工作!它在功能上跳跃了 2 次 :)
  • 块是异步的,所以它不会第一次跳转到块内
【解决方案2】:

您可以轻松完成。如果你想使用它来获取所有信息,你可以这样做。确保您的数据库是公开的

@property (strong, nonatomic) FIRDatabaseReference *ref;

然后在接口上定义属性

 self.ref = [[FIRDatabase database] reference];
     [self.ref observeEventType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) {
            NSDictionary *usersDict = snapshot.value;

            NSLog(@"Information : %@",usersDict);
        }];

如果你想使用这个来获取特定的部分,你可以这样做

 [[self.ref child:@"results"] observeEventType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) {

        NSDictionary *usersDict = snapshot.value;

        NSLog(@"Info : %@",usersDict);



    }];

我从 Firebase 获取的 Json

{
   "results" : [
      {
"name":"test 1",
"URL" : "URL STRING"
      },
{
"name":"test 1",
"URL" : "URL STRING"
      },
{
"name":"test 1",
"URL" : "URL STRING"
      },
{
"name":"test 1",
"URL" : "URL STRING"
      }
 ]
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-07
    • 1970-01-01
    • 2016-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-12
    相关资源
    最近更新 更多