嗨,我正在尝试从Firebase数据库检索数据。这是我的代码

- (FIRDatabaseReference *) referenceFromURL:(NSString *)databaseUrl{

    commentsRef = [[FIRDatabase database] referenceFromURL:databaseUrl];
    return commentsRef;
}


-(void)viewWillAppear:(BOOL)animated
{
    [commentsRef
     observeEventType:FIRDataEventTypeValue
     withBlock:^(FIRDataSnapshot *snapshot) {
         NSDictionary * post = snapshot.value;

     }];

}

该参考由数据库成功构建,但代码写在块中

“NSDictionary * post = snapshot.value;”

没有执行。

最佳答案

您可以轻松做到。如果您想使用此功能获取所有信息,则可以执行此操作。确保您已公开数据库

@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"
      }
 ]
}

关于ios - 从Firebase数据库检索数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37596758/

10-10 21:20
查看更多