//
// main.m
// test6
//
// Created by mac on 15/4/25.
// Copyright (c) 2015年 mac. All rights reserved.
//
#import <Foundation/Foundation.h>
/*
OC集合中只能存放OC对象,不能存放空值和基本数据类型(int,float,double.BOOL),结构体,枚举
*/
//如果在集合中存放基本数据类型,则先包装成对象,然后再存放
void useNSNumber()
{
@'A';//NSNumber
@"A";//NSString
//基本数据类型----------->NSNumber对象
//1
NSNumber *num= @5445;
NSNumber *num2= @54.45;
NSNumber *num3= @YES;
//2
int age = 45;
//()表示先取值,然后再通过@包装成NSNumber对象
@(age);//NSNumber
//3
[NSNumber numberWithInt:343];
[NSNumber numberWithFloat:23.54];
[NSNumber numberWithBool:YES];
//NSNumber对象------------>基本数据类型
NSNumber *num4 = [NSNumber numberWithInt:4];
[num intValue];
[num floatValue];
[num doubleValue];
//NSString--------------->基本数据类型
[@"43" intValue];
[@"567" floatValue];
//基本数据类型-------------->NSString
NSString *str = [NSString stringWithFormat:@"%d",4];
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
//NSNmuber之所以能将基本数据类型包装成对象是因为继承了NSValue
//任何类型都可以包装成NSValue类型
//结构体---------------->NSValue
NSValue *val = [NSValue valueWithPoint:CGPointMake(23, 54)];
//NSValue-------------->结构体
CGPoint p = [val pointValue];
}
return 0;
}
NSNumber(基础)
最新推荐文章于 2020-12-31 01:39:47 发布