如何处理我的数据中的 NSNull?
How to deal with NSNull in my data?
我在尝试显示标签时遇到 [NSNull rangeOfCharacterFromSet:]:
异常。错误显示
'NSInvalidArgumentException', reason: '-[NSNull length]:
下面是我的代码。
UILabel* spousename = [[UILabel alloc] initWithFrame:CGRectMake(10,line, 300,20)];
[spousename setText:[_thisburial objectForKey:@"Spouse"]];
我尝试使用以下代码测试空字符,但没有发现错误。它在尝试执行 addSuview 指令时爆炸了。
if(![spousename isEqual:nil])
{
[self.view addSubview:spousename];
}
那么我该如何测试标签中的 NSNull
以防止收到此 [NSNull rangeOfCharacterFromSet:]:
错误消息?
您的数据实际上没有 "spouse" 的实际值,这已通过将 NSNull
的实例存储为值来表明。您需要检查一下。
这一行:
[spousename setText:[_thisburial objectForKey:@"Spouse"]];
应更新以检查值。像这样:
id spouse = _thisburial[@"Spouse"];
if ([spouse isKindOfClass:[NSString class]]) {
spousename.text = spouse;
} else {
// The "spouse" value wasn't set or it's not a string
spousename.text = @""; // Set to whatever you want here
}
[_thisburial objectForKey:@"Spouse"]
正在返回 NSNull
。这个需要特殊处理。
NSString *spouseString = [_thisburial objectForKey:@"Spouse"];
if (spouseString == (id)[NSNull null]) {
spouseString = @"";
}
[spousename setText:spouseString];
我在尝试显示标签时遇到 [NSNull rangeOfCharacterFromSet:]:
异常。错误显示
'NSInvalidArgumentException', reason: '-[NSNull length]:
下面是我的代码。
UILabel* spousename = [[UILabel alloc] initWithFrame:CGRectMake(10,line, 300,20)];
[spousename setText:[_thisburial objectForKey:@"Spouse"]];
我尝试使用以下代码测试空字符,但没有发现错误。它在尝试执行 addSuview 指令时爆炸了。
if(![spousename isEqual:nil])
{
[self.view addSubview:spousename];
}
那么我该如何测试标签中的 NSNull
以防止收到此 [NSNull rangeOfCharacterFromSet:]:
错误消息?
您的数据实际上没有 "spouse" 的实际值,这已通过将 NSNull
的实例存储为值来表明。您需要检查一下。
这一行:
[spousename setText:[_thisburial objectForKey:@"Spouse"]];
应更新以检查值。像这样:
id spouse = _thisburial[@"Spouse"];
if ([spouse isKindOfClass:[NSString class]]) {
spousename.text = spouse;
} else {
// The "spouse" value wasn't set or it's not a string
spousename.text = @""; // Set to whatever you want here
}
[_thisburial objectForKey:@"Spouse"]
正在返回 NSNull
。这个需要特殊处理。
NSString *spouseString = [_thisburial objectForKey:@"Spouse"];
if (spouseString == (id)[NSNull null]) {
spouseString = @"";
}
[spousename setText:spouseString];