Issue retrieving data from Firebase database

At the moment I have an app that is using Firebase database to store the users:

Name

School

Subject

Within three seperate textfields.


Right now I've managed to allow the user to enter his details within these three text fields and hit a button labeled update, which then sends the data to my firebase console.


This means that the user can enter their details, hit update and see them while they are loggd in. however as soon as they logout and login again the textfields are blank, despite the fact that firebase has the info stored on its server.


I've been playing around all day trying to get it to work but to no avail.


Here we have the firebase reference and auth:


    self.rootRef = [[FIRDatabase database] reference];
    self.user = [FIRAuth auth].currentUser;


And the update button code that sends the users info to the firebase database:


- (IBAction)didTapEditProfile:(id)sender {

    if (![_textFieldOne.text  isEqual: @""]) {
  
        NSString *item = _textFieldOne.text;
  
        [[[[_rootRef child:@"users"] child:_user.uid] child:@"Name"] setValue:item];
    }

    if (![_textFieldTwo.text  isEqual: @""]) {
  
        NSString *itemTwo = _textFieldTwo.text;
  
        [[[[_rootRef child:@"users"] child:_user.uid] child:@"School"] setValue:itemTwo];
  
    }

    if (![_textFieldThree.text  isEqual: @""]) {
  
        NSString *itemThree = _textFieldThree.text;
  
        [[[[_rootRef child:@"users"] child:_user.uid] child:@"Subject"] setValue:itemThree];
  
    }

}


The problem i'm having is with retrieving the data within the code below which is situated in the viewDidAppear:

    [[_rootRef child:@"users"] observeEventType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) {
   
        NSDictionary *usersDict = snapshot.value;
   
        NSLog(@"%@",usersDict);
   
       [usersDict objectForKey:_user.uid];
   
       //I've tried numerous solutions here to get the text fields to display the info from the database  
  mainly: 
 NSString *field;
 field = _textFieldOne.text;
 field = [userDict objectForKey @"Name"];

The code i'm attempting to translate from looks like this: 
field(userDict?.objectForKey("Name") as? String)    
    }];


Any ideas?