0
私のアプリケーションでは、firebaseを使用して、主なユーザーデータを行に保存し、重要なもの(特性)を辞書に保存します。ユーザーは、データの追加、変更、削除を行うことができます。何度か、データベースから正常なデータを取得しますが、何らかの理由で配列の代わりに辞書を取得します。さらに、この配列にはオブジェクトNSNullアプリケーションが含まれています。なぜFirebaseが辞書の代わりに配列を返すのですか?
[self.ref observeEventType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) {
TSFireUser *user = [[TSFireUser alloc] init];
NSString *token = [[NSUserDefaults standardUserDefaults] valueForKey:@"token"];
FIRUser *fireUser = [FIRAuth auth].currentUser;
NSString *key = [NSString stringWithFormat:@"dataBase/users/%@/userData", fireUser.uid];
NSString *keyToParameters = [NSString stringWithFormat:@"dataBase/users/%@", fireUser.uid];
FIRDataSnapshot *fireUser = [snapshot childSnapshotForPath:key];
FIRDataSnapshot *fireUserParameters = [snapshot childSnapshotForPath:keyToParameters];
FIRDataSnapshot *userIdent = fireUser.value[@"userID"];
FIRDataSnapshot *userName = fireUser.value[@"displayName"];
FIRDataSnapshot *userEmail = fireUser.value[@"email"];
FIRDataSnapshot *userPhoto = fireUser.value[@"photoURL"];
FIRDataSnapshot *dateOfBirth = fireUser.value[@"dateOfBirth"];
FIRDataSnapshot *location = fireUser.value[@"location"];
FIRDataSnapshot *gender = fireUser.value[@"gender"];
FIRDataSnapshot *parameters = fireUserParameters.value[@"parameters"];
user.uid = (NSString *)userIdent;
user.displayName = (NSString *)userName;
user.email = (NSString *)userEmail;
user.photoURL = (NSString *)userPhoto;
user.dateOfBirth = (NSString *)dateOfBirth;
user.location = (NSString *)location;
user.gender = (NSString *)gender;
user.parameters = (NSMutableDictionary *)parameters;}];
私は一人で問題を決めた任意のヘルプ