2017-10-29 76 views
1

我試圖搜索數據庫中是否存在用戶鍵入的電子郵件,而不是正在編碼路徑。例如,我的第一個孩子被稱爲「用戶」,然後顯示一個自動ID,然後「電子郵件」,然後用戶的電子郵件。問題是如果我搜索用戶和電子郵件應用程序將崩潰,它需要唯一的ID。即時通訊尋求剛檢查過的所有電子郵件,以找出是否一個輸入的用戶存在如何搜索Firebase以查看用戶是否存在?

- (IBAction)signIn:(id)sender { 

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

    [[[[usersRef child:@"User"] child:@"-Kx_mPZvAzxZ9U3U0VXq"] child:@"Email"] observeEventType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) { 


     NSString *record = snapshot.value; 
     if(record.length > 0) { 
      NSLog(@"%@", record); 
     }else{ 
      NSLog(@"NO"); 
     } 

    } 
];} 
+2

我想'的NSString *記錄= snapshot.value'是檢查'snapshot'的錯誤方法。快照可以是NSDictionary,NSArray,NSNumber,NSString。如果'snapshot'不是'NSString',並且使用record.length,則會導致崩潰。嘗試使用'[快照存在]'檢查快照。 – trungduc

+1

如果它不起作用,你能告訴我錯誤嗎? – trungduc

回答

0

你可以通過throught所有的人不知道的名字:

FIRDatabaseReference *usersRef = [[FIRDatabase database] reference]; 
let users = 
rootRef.childByAppendingPath(User) 
menuItems.observeSingleEventOfType(.Value, withBlock: { snapshot in 
    for id in snapshot.children.allObjects as! [FDataSnapshot] { 
     //Access to every email here 
    } 
} 
相關問題