学习ios编程已经接近三个周了,日子过得挺快,C语言和OC语言已经接近尾声,下面贴上一些我这个周的学到的知识点,希望专业人士能给予帮助和指点
int intValue = 10;
float floatValue = 3.14;
BOOL boolValue = true;
NSNumber *intNumber = [[NSNumber alloc] initWithInt:intValue];
NSLog(@"intNumber is %@", intNumber);
NSNumber *floatNumber = [NSNumber numberWithFloat:floatValue];
NSLog(@"floatNumber is %@", floatNumber);
NSNumber *boolNumber = [NSNumber numberWithBool:boolValue];
NSLog(@"boolNumber is %@", boolNumber);
//包装后可以放入到容器中
NSArray *arr = @[intNumber, floatNumber, boolNumber];
NSLog(@"arr is %@", arr);
//还原为基本数据类型
float value = [floatNumber floatValue];
NSLog(@"value is %.2f", value);
int value2 = [intNumber intValue];
NSLog(@"value2 is %d", value2);
//封包
NSNumber *intNum = @100;
NSNumber *longNum = @123456789;
NSNumber *floatNum = @10.5;
NSNumber *boolNum = @true;
NSNumber *charNum = @'a';
NSNumber *valueNum = @(10+100);//等价于 NSNumber *valueNum = [NSNumber numberWithInt:10 + 100];
NSLog(@"valueNum is %@", valueNum);
//NSValue
//NSValue可以包装任意类型
//创建一个结构体
NSRange range = {1, 5};
//将结构体包装成对象
NSValue *value = [NSValue value:&range withObjCType:@encode(NSRange)];
NSLog(@"value is %@", value);
//还原
NSRange newRange;
[value getValue:&newRange];
NSLog(@"newRange is %@", NSStringFromRange(newRange));
//NSNull
//表示一个空对象
NSNull *null = [NSNull null];
NSArray *arr = @[@"1", @"2", null, @"4"];
NSLog(@"arr is %@", arr);