NSInteger(typedef类型)

32位上等于int64位上等于long

NSNumber:NSNumber数字类型的OC对象,所有OC基本数据类型都可以和他相互转换

NSInteger和NSNumber相互转换

NSNumber * integerNumber = [NSNumber numberWithInteger:100];//NSInteger是typedef类型,32位机器是int,64位机器是longNSInteger integerValue = [integerNumber integerValue];

int、short、long、long long和NSNumber相互转换

NSNumber * longlongNumber = [NSNumber numberWithLongLong:143892489];long long longlongValue = [longlongNumber longlongValue];

float、double和NSNumber相互转换

NSNumber * floatNumber = [NSNumber numberWithFloat:5.5];float floatValue = [floatNumber floatValue];

BOOL和NSNumber相互转换

NSNumber * boolNumber = [NSNumber numberWithBool:YES];BOOL boolValue = [boolNumber boolValue];

@()快捷键初始化NSNumber数字类型

NSNumber * number1 = @(5);//这种比上面的初始化方式简单多了NSNumber * number2 = @(YES);

比较

[number1 isEqualToNumber:number2];//是否相等[number1 compare:number2];//比较大小