// // main.m // NSNumber
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) { @autoreleasepool {
#pragma mark - NSNumber 介绍
//NSNumber 是OC中处理数值类型的一个类
//如何处理
//NSArray中不能存放int /float / double,只能存放对象 //NSNumber 用于表示基本数据的对象 //把int/float 封装成对象
//使用NSNumber 的好处 //可以把基本数据类型的数据保存到数组或者字典中
//int ----> obj
int a = 10; int x = 100; float f1 = 3.23f; double d1 = 2.25;
#pragma mark 基本数据类型-->NSNumber
//numberWithInt 把 int 转换成NSNumber NSNumber *intObj = [NSNumber numberWithInt:a];
//放到数组中 NSMutableArray *array = [NSMutableArray arrayWithObjects:intObj, nil]; NSLog(@"%@",array);
//float ----> NSNumber NSNumber *floatObj = [NSNumber numberWithFloat:f1]; //把对象添加到数组中 [array addObject:floatObj]; NSLog(@"%@",array);
//double ----> NSNumber NSNumber *dobj = [NSNumber numberWithDouble:d1]; [array addObject:dobj]; NSLog(@"%@",array);
#pragma mark NSNumber --> 基本数据类型
//数组的第一个元素和第二个元素相加 //取出数组的元素
//把数组元素转换为基本类型数据 NSNumber *n1 = array[0]; int a1 = [n1 intValue];
NSNumber *n2 = array[1]; float f2 = [n2 floatValue];
a1 = [array[0] intValue]+[array[1] floatValue]; NSLog(@"%d",a1);
#pragma mark 简写形式
//@(变量名) ---> 把 x 转换为NSNumber对象 [array addObject:@(x)]; NSLog(@"%@",array);
//@数值 ---> 把数值转换为NSNumber对象 [array addObject:@18]; NSLog(@"%@",array);
} return 0; }
|