Objective-C数字对象NSNumber – Objective-C开发教程

上一章Objective-C开发教程请查看:Objective-C代码块block的介绍和用法
Objective-C中的所有基本数据类型都不是对象,基本数据类型带有的算法操作相当简单,例如加减乘除。如果我们需要让基本数据类型使用更多的算法操作,那么可以使用对应的OC对象。
这一章我们讨论OC中的数字对象NSNumber,它包装了所有基本数据类型,提供一系列的操作。其中创建NSNumber对象的方法是使用NSNumber类的类方法(static方法),注意类方法的签名以” +” 开始,以” -“ 开始的函数签名是对象方法,需要由对象实例来调用。注意OC中很多方法的命名方式类型,用的时候注意发现其中的相同点。
下面是NSNumber类的一些基本方法:

  • + (NSNumber *)numberWithBool:(BOOL)value:使用BOOL类型的布尔值创建一个NSNumber对象。
  • + (NSNumber *)numberWithChar:(char)value:使用一个char类型的值创建一个NSNumber对象。
  • + (NSNumber *)numberWithDouble:(double)value:使用一个double双精度浮点值创建一个NSNumber对象。
  • + (NSNumber *)numberWithFloat:(float)value:使用一个float单精度浮点值创建一个NSNumber对象。
  • + (NSNumber *)numberWithInt:(int)value:使用一个int整型数创建一个NSNumber对象。
  • + (NSNumber *)numberWithInteger:(NSInteger)value:使用一个NSInteger对象创建一个NSNumber对象。
  • – (BOOL)boolValue:将对象中的值作为BOOL类型返回。
  • – (char)charValue:将对象中的值作为char类型返回。
  • – (double)doubleValue:将对象中的值作为double类型返回。
  • – (float)floatValue:将对象中的值作为float类型返回。
  • – (NSInteger)integerValue:将对象中的值作为NSInteger对象返回。
  • – (int)intValue:将对象中的值作为int类型返回。
  • – (NSString *)stringValue:将对象中的值作为字符串类型返回。
【Objective-C数字对象NSNumber – Objective-C开发教程】下面是使用NSNumber的具体实例:
#import < Foundation/Foundation.h>@interface SampleClass:NSObject - (NSNumber *)multiplyA:(NSNumber *)a withB:(NSNumber *)b; @end@implementation SampleClass- (NSNumber *)multiplyA:(NSNumber *)a withB:(NSNumber *)b { float number1 = [a floatValue]; float number2 = [b floatValue]; float product = number1 * number2; NSNumber *result = [NSNumber numberWithFloat:product]; return result; }@endint main() { SampleClass *sampleClass = [[SampleClass alloc]init]; NSNumber *a = [NSNumber numberWithFloat:10.5]; NSNumber *b = [NSNumber numberWithFloat:10.0]; NSNumber *result = [sampleClass multiplyA:a withB:b]; NSString *resultString = [result stringValue]; NSLog(@"The product is %@",resultString); return 0; }

    推荐阅读