NSDictionary *regionDict = (NSDictionary *) region;
NSNumber *lat = [regionDict objectForKey:@"lat"];
//[latitude addObject:lat];
NSNumber *lng = [regionDict objectForKey:@"lng"];
//[longitude addObject:lng];
NSLog(@"%@%@%@",lat,lng,titles);
if(lat == [NSNumber numberWithFloat:0.00] && lng == [NSNumber numberWithFloat:0.00])
{
NSLog(@"%@%@%@",lat,lng,titles);
}
else
{
CLLocationCoordinate2D coord;
coord.latitude =lat.doubleValue;
coord.longitude =lng.doubleValue;
MapViewAnnotation *annotation =[[MapViewAnnotation alloc]initWithTitle:titles AndCoordinate:coord];
[self.mapView addAnnotation:annotation];
}
如果由于NSNumber不满足条件而不检查空值。 我可以检查的方式是什么? 告诉我可能的方法..检查null。
答案 0 :(得分:11)
您可以通过执行
检查对象是否为空if ([myObject isKindOfClass:[NSNull class]])
但是如果你想检查NSNumber
中的一个浮动框是否为零,你可以做
if (lng.floatValue == 0. && lat.floatValue == 0)
答案 1 :(得分:2)
我一直在使用:
检查NSDecimalNumber是否为nullif (decimalNumber == nil)
这对我很有用。
答案 2 :(得分:0)
NSDictionary *regionDict = (NSDictionary *) region;
NSNumber *lat;
if([regionDict objectForKey:@"lat"] == [NSNull null])
{
lat = 0;
}
else
{
lat = [regionDict objectForKey:@"lat"];
}
NSNumber *lng;
if([regionDict objectForKey:@"lng"] == [NSNull null] )
{
lng=0;
}
else
{
//[latitude addObject:lat];
lng = [regionDict objectForKey:@"lng"];
}
//[longitude addObject:lng];
if(lat.floatValue == 0.00 && lng.floatValue == 0.00)
{
NSLog(@"%@%@%@",lat,lng,titles);
}
else
{
NSLog(@"%@%@%@",lat,lng,titles);
CLLocationCoordinate2D coord;
coord.latitude =lat.doubleValue;
coord.longitude =lng.doubleValue;
MapViewAnnotation *annotation =[[MapViewAnnotation alloc]initWithTitle:titles AndCoordinate:coord];
[self.mapView addAnnotation:annotation];
}
答案 3 :(得分:0)
我不太清楚你想检查什么。根据您的JSON数据,您将获得以下其中一项:
myObject == nil - the object isn't there at all.
myObject == [NSNull null] - the JSON data is "null" without the quotes
myObject.doubleValue == 0.0 - the JSON data contained a number 0 or 0.0
请注意,如果JSON数据为“null”,尝试读取doubleValue将会崩溃,因此需要先检查。比较
myObject == [NSNumber numberWithDouble:0.0]
不会起作用,因为它只是比较对象指针。如果这实际上是同一个对象,那将是一个非常巨大的巧合。
答案 4 :(得分:0)
[obj isKindOfClass:[NSNull class]]