如何获取Firebase数据库中密钥的值并将其传递给TextField?
我想知道如何使用Objective C在我的JSON数据库中找到密钥的值并将其传递给文本字段。 我想从我的数据库中的第3个密钥收集数据(当然不包括标题节点),但是关于如何进行的每个解释似乎都不起作用。 遍历到正确位置的代码是:
FIRUser *user = [FIRAuth auth].currentUser; NSString* username = _usernameEntry.text; if (user) { [[[[_ref child: @"Users"] child:user.uid] child:@"Username"]observeSingleEventOfType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) { User *username = [[User alloc] initWithUsername:snapshot.value[@"username"]]; } withCancelBlock:^(NSError * _Nonnull error) { NSLog(@"%@", error.localizedDescription); }]; _emailAddressEntry.text = user.email; }
为了我。 我的目的是在视图控制器导航到时,用户名文本字段显示当前用户名。 这样,用户可以看到它现在是什么并编辑它,如果有任何错误输入/不满意(与电子邮件文本字段的完成方式类似)。
Side Note,用户名和电子邮件的存储/修改如下:
NSString *userID = [FIRAuth auth].currentUser.uid; NSString* username = _usernameEntry.text; [[[_ref child:@"Users"] child:userID] setValue:@{@"Username": username}]; [[FIRAuth auth].currentUser updateEmail:_emailAddressEntry.text completion:^(NSError * _Nullable error) { if(error) { [_emailValidationCheck setTextColor:[UIColor redColor]]; _emailValidationCheck.text = @"Email Address modification was unsuccessful"; } else { [_emailValidationCheck setTextColor:[UIColor greenColor]]; _emailValidationCheck.text = @"Email Address modification was successful"; } }]; }
另外,我有一个关于另外两件事的问题。 1)为什么在此遍历中始终会覆盖userID密钥? 我将其定义为在注册视图控制器中具有名称User_ID和uid的值,但是当人们在我的应用程序的配置文件页面上编辑他们的用户名时,它会被覆盖并变成关键字。 在此之前,它变成了名称(没有价值)。
FIRUser *user = [FIRAuth auth].currentUser; if (user) { [[[[_ref child: @"Users"] child:user.uid] child:@"Username"] observeSingleEventOfType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot *snapshot) { if (snapshot.exists) { _usernameEntry.text = snapshot.value; } }]; _emailAddressEntry.text = user.email; }
是我解决问题的解决方案。
- 具有4个viewControllers的Page Viewtroller – 如何将视图2设置为初始viewController?
- 如何允许NSAttributedString文本输入UITextView?
- 在secureTextEntry切换之后,UITextField具有拖尾空白
- iOS – 当应用程序强制退出时由用户处理静默推送通知
- 重写setter方法,并获得“xxx隐藏实例variables的本地声明”
- 在iOS上,如果superview的userInteractionEnabled为NO,那么所有子视图都被禁用?
- 家长MOC获取来自儿童MOC的空数据的变化
- 夏日10日-NSFetchedResultsController SearchBar和部分滚动
- 如何使用自动布局在屏幕中水平和垂直居中UILabel?
- 使用UITableView indexPath访问NSMutableArrays的多维NSMutableArray
- 如何从Alamofire错误得到底层错误?