从firebase数据库中检索数据

时间:2016-06-02 15:57:19

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

您好我正在尝试从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;"

没有执行。

2 个答案:

答案 0 :(得分: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"
      }
 ]
}

答案 1 :(得分:0)

如果你可以更新到firebase 3.0,那将会很酷。

如果您想查看有关firebase的MakinGIANST - Post以获取有关如何查询和使用新api的更多信息。

它适用于Android,但它在Kotlin中看起来像Swift