2016-12-07 3 views
0

나는 Firebase에 초보자입니다. 데이터베이스에서 데이터를 가져 오려고하지만 코드가 작동하지 않습니다.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)에 뛰어 어차피 : 여기 내 코드입니다. 뭐가 잘못 됐어? 도와주세요. 감사.

+0

configu 빨간색 제대로? 나는 그들의 지침에 따라 의미합니다. –

+0

Google의 문서를 참조하십시오. [link] (https://firebase.google.com/docs/database/ios/read-and-write) – Rin

답변

1

viewDidLoad로 이동 FIRDatabaseReference * ref = [[FIR 데이터베이스 데이터베이스] 참조];

  1. 문서에 따라 모든 것을 구성했는지 확인하십시오.

  2. 확인 키 이름

  3. 모든 것이 괜찮 경우 3이 아닌 작품이 오류 문을 점검 위의 경우,이 대신 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. 의 observeSingleEventOfType으로 시도 변경해보십시오

+0

감사합니다. 작동합니다! funcition에서 점프 시간이 2 시간입니다. – Rin

+0

블록이 비동기 적이기 때문에 처음에는 블록 안에서 점프하지 않습니다 – Sivagami

+0

정말 고마워요. – Rin

0

쉽게 할 수 있습니다. 이것을 사용하여 모든 정보를 가져 오려면이 작업을 수행 할 수 있습니다. 있는지 확인 데시벨은 당신이 당신이 중포 기지에서이

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

     NSDictionary *usersDict = snapshot.value; 

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



    }]; 

내 반입 JSON을 할 수있는 사용하여 특정 부분을 인출하려면

@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); 
     }]; 

에 속성을 정의 공개

{ 
    "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" 
     } 
] 
} 
관련 문제