1、NSNumber可以表示多种基本数据类型,如int、bool、char、float、double,以及他们加了修饰符long、unsigned的类型。
2、创建方法可以使用numberWithInt: numberWithInterger。也可以使用initWithInt方法
3、获取的方法可以使用intValue、doubleValue或者返回字符串类型stirngValue
4、使用NSNumber的compare方法比较两个值,返回的对象可以转化为-1、0、1,分别代表小于、等于、大于。与bool值比较时,YES代表1,当另一个数大于1时返回1,小于1时返回-1
真正返回的是一个枚举类型NSComparisonResult,
另一个方法isEqualToNumber,返回bool值,这个方法更好用
enum {
NSOrderedAscending=-1,
NSOrderedSame,
NSOrderedDescending
};typedefNSIntegerNSComparisonResult;
|
// 比较两个NSNumber
NSNumber *num1 = [[NSNumber alloc] initWithBool:YES]; NSNumber *num3 = [[NSNumber alloc] initWithChar:'d']; NSLog(@"%ld",(long)[num1 compare:num3]);// -1
|
5、如果需要判断NSNumbr的具体类型,如判断是不是bool类型的值
NSNumber * n = [NSNumber numberWithBool:YES]; |