Ios UITextVield中返回的空值
使用Ios UITextVield中返回的空值,ios,objective-c,parse-platform,Ios,Objective C,Parse Platform,使用Parse.com作为我的后端,并尝试加载用户数据,但遇到一个问题,其中一个字段最初返回(null),而默认情况下不存在任何数据。这是三种方法中唯一使用int作为数据类型而不是string的方法。另外两个尝试加载字符串的字符串(默认情况下也不存在)不会在字段中返回(null),并且按预期为空 代码(如您所见,我尝试使用if条件检查Parse.com并在其(null)的情况下在本地覆盖它,或者至少我尝试-然后在UITextField中没有显示任何内容,而不是(null)),不走运 - (voi
Parse.com
作为我的后端,并尝试加载用户数据,但遇到一个问题,其中一个字段最初返回(null),而默认情况下不存在任何数据。这是三种方法中唯一使用int作为数据类型而不是string的方法。另外两个尝试加载字符串的字符串(默认情况下也不存在)不会在字段中返回(null),并且按预期为空
代码(如您所见,我尝试使用if条件检查Parse.com并在其(null)的情况下在本地覆盖它,或者至少我尝试-然后在UITextField
中没有显示任何内容,而不是(null)),不走运
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
PFUser *currentUser = [PFUser currentUser];
self.age = [NSString stringWithFormat:@"%@", currentUser[@"age"]];
if (self.age == nil || [self.age isEqual: @""])
{
self.age = @"0";
NSLog(@"%@", self.age);
}
else{
NSLog(@"%@", self.age);
}
self.usersHomeTown.text = currentUser[@"hometown"];
self.usersAge.text = self.age;
self.usersName.text = currentUser[@"name"];
}
问题是您没有检查
currentUser[@“age”]
是否为nil
。因此,您可以从任何字符串创建字符串。结果字符串永远不会是nil
。你想要:
PFUser *currentUser = [PFUser currentUser];
id age = currentUser[@"age"];
if (age) {
self.age = [NSString stringWithFormat:@"%@", age];
else {
self.age = @"0";
}
我不知道current[@“age”]
是否返回nil
或[NSNull null]
。上述代码假定它返回nil
。如果返回[NSNull null]
,则将If
语句更改为:
if (age == [NSNull null]) {
尝试改用
if(self.age.text.length)
,因为您总是在创建字符串。一开始似乎可以工作,但如果用户清空UITextField并点击save,那么由于某种原因,当我将else更改为self.age=@“时,UITextField中会出现0,返回视图,有什么想法吗?因为我不知道当点击“保存”时你会做什么,我无法知道,但我可以猜到你一定是在为用户的年龄保存0
。