您的位置:首页 > 其它

OC学习心得之数据类型

2015-11-15 17:51 381 查看
主要说一下数据类型:NSString字符串、NSDate日期、NSArry数组、NSDictionary字典。

1、字符串

字符串是非常常见的数据类型,OC中字符串类型为:NSString类, 类似c中的char*,可以使用 length 属性获取长度

该类提供了丰富的方法供我们使用

(1)字符串创建方法

NSString *str=@"hello";

NSString *str2=[NSString stringWithString:str];

NSString *str3=[[NSString alloc]initWithString:@"hello"];

NSString *str4=[[NSString alloc]initWithFormat:@"hello%d",2];

(2)字符串合并方法

-(NSString*)stringByAppendingString:(NSString*)aString;

-(NSString*)stringByAppendingFormat:(NSString*)format...

(3)字符串截取方法

-(NSString*)substringFromIndex:(NSUInteger)anIndex;

-(NSString*)substringToIndex:(NSUInteger)anIndex;

(4)字符串替换方法

NSString *str8=@"helloword";

NSRange range=NSMakeRange(3, 3);

NSString *str9=[str8 stringByReplacingCharactersInRange:range withString:@"*"];

(5)字符串比较方法

-(BOOL)isEqualToString: (NSString*) aString;

-(NSComparisonResult)compare: (NSString*)string;

2、 NSDate日期

NSDate是用于处理日期和时间的基础类,用于保存时间值,同时提供了一些方法用来处理一些基于秒级别时差运算和日期之间的早晚比较等。

用于创建 NSDate实例的类方法

+(id)date;返回值是当前日期和时间。

+(id)dateWithTimeIntervalSinceNow:(NSTimeInterval)secs;

返回是当前时间为基准,然后警告了 secs 秒的时间。

+(id)dateWithTimeInterval:(NSTimeInterval)tisinceDate:(NSDate*)refDate;

返回是指定时间 refDate 为基准,然后过了ti秒的时间。

3、数组

NSArray 不可变数组,方便做查找

[array count] : 数组的长度。

[array objectAtIndex 0]: 传入数组脚标的id 得到数据对象。

[arrayWithObjects; ...] :向数组对象初始化赋值。这里可以写任意对象的指针,结尾必须使用nil。

NSMutableArray可变对象数组,删除 添加 修改。

[NSMutableArray arrayWithCapacity:6] :初始化可变数组对象的长度,如果后面代码继续添加数组超过长度6以后NSMutableArray的长度会自动扩充,6是自己可以设置的颗粒度。

[array addObject:...] : 向可变数组尾部添加数据对象。

[array addObjectsFromArray:..] :向可变数组尾部添加一个数组对象。

4、字典

字典使用Key-Value的形式存储数据。

字典中的对象存储没有顺序,不可用下标访问,使用 key 来表示每个对象。

cocoa框架中的字典:NSDictionary和NSMutableDictionary。

(1)创建不可变词典

[NSDictionary dictionaryWithObjectsAndKeys:..] : 使用键值对儿直接创建词典对象,结尾必需使用nil标志结束。

[NSDictionary initWithObjectsAndKeys:..] :使用键值对儿初始化词典对象,结尾必需使用nil标志结束。

[dictionary count]: 得到词典的长度单位。

[dictionary keyEnumerator]: 将词典的所有KEY储存在NSEnumerator中,NSEnumerator很像Java语言中的迭代器,使用快速枚举可以遍历词典中所有储存KEY值。

[dictionary objectEnumerator]: 将词典的所有value储存在NSEnumerator中,用法和上面差不多可用来遍历KEY对应储存的Value值。

[dictionary objectForKey:key]: 通过传入KEY对象可以拿到当前KEY对应储存的值。

(2)创建可变词典对象

NSMutableDictionary 是NSDictionary的子类,所以继承了NSDictionary的方法。

[NSMutableDictionary dictionaryWithCapacity:10] : 创建一个可变词典初始指定它的长度为10.,动态的添加数据如果超过10这个词典长度会自动增加,所以不用担心数组越界。推荐用这种方式

[NSMutableDictionary initWithCapacity:10] :只是初始化一个词典的长度为10。

[dictionary setObject:@"雨松MOMO" forKey:@"name"] :向可变的词典动态的添加数据,这里的key是name ,值是雨松MOMO。如果词典中存在这个KEY的数据则直接替换这个KEY的值。(易混的地方,慎重!)

[dictionary removeAllObjects..] : 删除掉词典中的所有数据。

[dictionary removeObjectForKey..] :删除掉词典中指定KEY的数据 。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: