我如何检查NSNumber是否为空?

Pri*_*dhi 11 iphone json nsnumber mkmapview

 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];
            }
Run Code Online (Sandbox Code Playgroud)

如果由于NSNumber而不满足条件,则不检查空值.我可以检查的方式是什么?告诉我可能的方法..检查null.

Cyr*_*lle 12

您可以通过执行操作来检查对象是否为空

if ([myObject isKindOfClass:[NSNull class]])
Run Code Online (Sandbox Code Playgroud)

但是如果你想检查a中的一个浮点数NSNumber是否为零,你可以这样做

if (lng.floatValue == 0. && lat.floatValue == 0)
Run Code Online (Sandbox Code Playgroud)

  • NSInvalidArgumentException',原因:'-[NSNull floatValue]:@Cyrille错误 (2认同)
  • 是的,您应该在*装箱前*检查NSNull。 (2认同)