OC基础 -- 集合 和 常见对象

本文介绍了Objective-C中的集合类型,包括字典的特性:不允许有相同键但可有相同值,并且字典是无序的。还探讨了NSNumber和NSValue,指出NSNumber作为NSValue的子类,常用于将基本数据类型转化为OC对象以便于在集合中使用。此外,还讲解了NSDate对象如何进行日期的字符串格式化操作。
摘要由CSDN通过智能技术生成

集合

NSArray:不可变数组,有序
NSMutableArray:可变数组 ,继承自NSArray

OC数组:只能存储OC对象,不能存放非OC对象类型,int enum struct
NSArray *array = @[@"a",@"b",nil]; // 这个方法返回的是NSArray;是不可变的
int count = array.count;
array[index];

[mutArray addObject:@"NSArray没有这个方法"];


NSSet:
NSMutableSet:
和NSArray区别:无顺序


NSDictionary:存储键值对, 无序
NSMutableDictionary:

NSDictionary *dict = @{@"name1":@"jack",@"name2":rose};// 这个方法返回的是NSDictionary
NSString *str = dict[@"name1"];
NSArray *keys = [dict allKeys];

字典不允许有相同键,可以有相同值,字典是无序的


NSNumber 和 NSValue

NSNumber 继承自 NSValue

在很多时候,比如将数据存放到字典或者数组集合,需要的是OC对象而非基本数据类型,所以才有了NSNumber

》基本数据类型和对象转换

//快速包装 :

NSNumber *intObj = @30; 
int age = 10; 

NSNumber *intObj = @(age); 

NSNumber *intObj= [NSNumber numberWithInt:10];// 基本转对象

int i  = [intObj intValue];// 对象转基本

》基本数据类型和字符串转换

NSString *str = [NSString stringWithFormat:@"%d",20];

int strInt = [@"100" intValue];
》结构体和OC对象
CGPoint p = CGPointMake(10,10);

NSValue *value = [NSValue valueWithPoint:point];// 结构体转对象

CGPoint point = [value pointValue];// value对象转成结构体


NSDate

时间可以用结构体包装,也可以用对象来描述,调用时间方法的话只能使用NSDate

》日期对象格式化成字符串

NSDate *date = [NSDate date];

NSDateFormatter *format = [[NSDateFormat alloc] init];

format.dateFormat = @"yyyy-MM-dd HH-mm-ss";

NSString *str  = [format stringFromDate:date];

》将字符串格式化成日期对象

NSString *strDate = @"2009-11-01";

NSDateFormatter *format = [[NSDateFormat alloc] init];

format.dateFormat = @"yyyy-MM-dd";// 必须和strDate格式相同

NSDate *date  = [format dateFromString:strDate];


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值