在float和int值的情况下,如何检查NSArray对象的数据类型?

1 iphone objective-c ios

检查以下代码并创建if条件以检查元素类型float和integer.我已经使用但无法比较浮动值.

NSArray *a=[[NSArray alloc] initWithObjects:@"C",[NSNumber numberWithInt:120],[NSNumber numberWithFloat:333.222],[NSDate date], nil]; 

for (NSObject *x in a) 
{
    NSLog(@"%@",x);

    if([x isKindOfClass: [NSNumber class]])
    {
        //How i check float type with nsnumber
        NSLog(@"Integer Exist");
    }
    else if([x isKindOfClass:[NSString class]])
    {
        NSLog(@"String Exist");   
    }
    else if([x isKindOfClass:[NSDate class]])
    {
        NSLog(@"Date Exist");
    }
}
Run Code Online (Sandbox Code Playgroud)

Ale*_*der 5

NSNumberobjCType方法(继承自NSValue)

浮动检查的示例:

if ( strcmp([x objCType], @encode(float)) == 0 ) {
    // float value
}
Run Code Online (Sandbox Code Playgroud)