1.NSNumber
这是一个创建oc数字对象的类
创建对象的方法
从NSNumber中取出之前包装的基本数据类型
-(long)longValue;
-(double)doubleValue;
-(BOOL)boolValue;
-(NSString *)stringValue;
2.NSDate
NSDate可以用来表示时间, 可以进行一些常见的日期\时间处理
一个NSDate对象就代表一个时间
[NSDate date]返回的就是当前时间
// 创建一个时间对象
NSDate *date = [NSDate date];
// 打印出的时候是0时区的时间(北京-东8区)
NSLog(@"%@", date);
NSDate *date2 = [NSDatedateWithTimeInterval:5 sinceDate:date];
// 从1970开始走过的秒数
NSTimeIntervalseconds = [date2 timeIntervalSince1970];
NSString *time =@"2011/09/10 18:56";
通过NSDateFormatter创建日期,日期格式转化类
NSDateFormatter*formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyy/MM/ddHH:mm";
NSDate *date =[formatter dateFromString:time];
3.NSValue
NSNumber是NSValue的子类, 但NSNumber只能包装数字类型
NSValue可以包装任意值
// NSNumber之所以能包装基本数据类型为对象,是因为继承了NSValue
// 结构体--->OC对象
CGPoint p = CGPointMake(10, 10);
// 将结构体转为Value对象
NSValue *value = [NSValuevalueWithPoint:p];
// 将value转为对应的结构体
// [value pointValue];
NSArray *array = @[value ];
4.NSSet
集合,就是能用来容纳OC对象的容器,NSArray、NSDictionary等都是
NSSet和NSArray的对比
1> 共同点
* 都是集合,都能存放多个OC对象
* 只能存放OC对象,不能存放非OC对象类型(基本数据类型:int、char、float等,结构体,枚举)
* 本身都不可变,都有一个可变的子类
2> 不同点
NSArray有顺序,NSSet没有顺序
//创建元素
NSMutableSet *s = [NSMutableSet set];
// 添加元素
[s addObject:@"hack"];
NSSet *s = [NSSet set];
NSSet *s2 = [NSSet setWithObjects:@"jack",@"rose", @"jack2",@"jack3",nil];
// 随机拿出一个元素
NSString *str = [s2 anyObject];
5.NSDictionary
NSDictionary翻译过来叫做”字典”
NSDictionary的作用类似: 通过一个key, 就能找到对应的value
NSDictionary是不可变的, 一旦初始化完毕, 里面的内容就无法修改
NSDictionary的创建
常用类
+ (instancetype)dictionary;
+(instancetype)dictionaryWithObject:(id)objectforKey:(id <NSCopying>)key;
+(instancetype)dictionaryWithObjectsAndKeys:(id)firstObject,...;
+(id)dictionaryWithContentsOfFile:(NSString*)path;
+(id)dictionaryWithContentsOfURL:(NSURL*)url;
比较
集合
1.NSArray\NSMutableArray
* 有序
* 快速创建(不可变):@[obj1, obj2, obj3]
* 快速访问元素:数组名[i]
2.NSSet\NSMutableSet
* 无序
3.NSDictionary\NSMutableDictionary
* 无序
* 快速创建(不可变):@{key1 : value1, key2 : value2}
* 快速访问元素:字典名[key]
这是一个创建oc数字对象的类
创建对象的方法
+(NSNumber *)numberWithInt:(int)value;
+(NSNumber *)numberWithDouble:(double)value;
+(NSNumber *)numberWithBool:(BOOL)value;从NSNumber中取出之前包装的基本数据类型
- (char)charValue;
-(int)intValue;-(long)longValue;
-(double)doubleValue;
-(BOOL)boolValue;
-(NSString *)stringValue;
2.NSDate
NSDate可以用来表示时间, 可以进行一些常见的日期\时间处理
一个NSDate对象就代表一个时间
[NSDate date]返回的就是当前时间
// 创建一个时间对象
NSDate *date = [NSDate date];
// 打印出的时候是0时区的时间(北京-东8区)
NSLog(@"%@", date);
NSDate *date2 = [NSDatedateWithTimeInterval:5 sinceDate:date];
// 从1970开始走过的秒数
NSTimeIntervalseconds = [date2 timeIntervalSince1970];
NSString *time =@"2011/09/10 18:56";
通过NSDateFormatter创建日期,日期格式转化类
NSDateFormatter*formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyy/MM/ddHH:mm";
NSDate *date =[formatter dateFromString:time];
3.NSValue
NSNumber是NSValue的子类, 但NSNumber只能包装数字类型
NSValue可以包装任意值
// NSNumber之所以能包装基本数据类型为对象,是因为继承了NSValue
// 结构体--->OC对象
CGPoint p = CGPointMake(10, 10);
// 将结构体转为Value对象
NSValue *value = [NSValuevalueWithPoint:p];
// 将value转为对应的结构体
// [value pointValue];
NSArray *array = @[value ];
4.NSSet
集合,就是能用来容纳OC对象的容器,NSArray、NSDictionary等都是
NSSet和NSArray的对比
1> 共同点
* 都是集合,都能存放多个OC对象
* 只能存放OC对象,不能存放非OC对象类型(基本数据类型:int、char、float等,结构体,枚举)
* 本身都不可变,都有一个可变的子类
2> 不同点
NSArray有顺序,NSSet没有顺序
//创建元素
NSMutableSet *s = [NSMutableSet set];
// 添加元素
[s addObject:@"hack"];
// 删除元素
[s removeObject:<#(id)#>];NSSet *s = [NSSet set];
NSSet *s2 = [NSSet setWithObjects:@"jack",@"rose", @"jack2",@"jack3",nil];
// 随机拿出一个元素
NSString *str = [s2 anyObject];
5.NSDictionary
NSDictionary翻译过来叫做”字典”
NSDictionary的作用类似: 通过一个key, 就能找到对应的value
NSDictionary是不可变的, 一旦初始化完毕, 里面的内容就无法修改
NSDictionary的创建
常用类
+ (instancetype)dictionary;
+(instancetype)dictionaryWithObject:(id)objectforKey:(id <NSCopying>)key;
+(instancetype)dictionaryWithObjectsAndKeys:(id)firstObject,...;
+(id)dictionaryWithContentsOfFile:(NSString*)path;
+(id)dictionaryWithContentsOfURL:(NSURL*)url;
比较
集合
1.NSArray\NSMutableArray
* 有序
* 快速创建(不可变):@[obj1, obj2, obj3]
* 快速访问元素:数组名[i]
2.NSSet\NSMutableSet
* 无序
3.NSDictionary\NSMutableDictionary
* 无序
* 快速创建(不可变):@{key1 : value1, key2 : value2}
* 快速访问元素:字典名[key]