6.Foundation Kit介绍 部分二
2016-01-19 23:08
281 查看
1.可变性
使用类方法stringWithCapacity:来创建一个新的NSMutableString,声明如下:
+(id) stringWithCapacity:(NSUInteger) capacity;
这个容量只是给NSMutableString一个建议,可以超过其大小。
例:
NSMutableString *string = [NSMutableString stringWithCapacity:42];
一种常见的操作是通过appendString:或appendFormat:来附加新字符串,如下所示。
- (void) appendString:(NSString *) aString;
- (void) appendFormat:(NSString *) format,...;
appendString:接受参数aString,然后将其复制到接受对象的末尾。appendFormat:的工作方式与stringWithFormat:类似,但并没有创建新的字符串,而是将格式化的字符串附加在了接受字符串的末尾。例如:
NSMutableString *string = [NSMutableString stringWithCapacity:50];
[string appendString:@"Hello there"];
[string appendFormat:@"human %d!",39];
这段代码最后的结果是string被赋值为“Hello here human 39!”。
使用deleteCharactersInRange:方法删除字符串中的字符。
- (void) deleteCharactersInRange:(NSRange) aRange;
NSMutableString是NSString的子类。
例:
假设你列出了所有朋友的名字,但又觉得不喜欢Jacker了,想把他从列表中删除,如下
NSMutableString *friends = [NSMutableString stringWithCapacity:50];
[friends appendString:@"James BethLynn Jack Evan"];
接下来找到Jack的名字在字符串中的范围
NSRange jackRange = [friends rangOfString:@"Jackk"];
jackeRange.length++;//eat the space that follows
踢掉Jack
[friends deleteCharactersInRange: JackRange];
NSMutableString继承自NSString的字符格式化来创建一个可变字符串:
NSMutableString *string = [NSMutableString stringWithFormat:@“jo%dy,2”];
string的初始值为jo2y
2.集合大家族
2.1NSArry
NSArry类有两个限制。首先,它只能存储Objective-C的对象,而不能存储原始的C语言基础数据类型,如int、float、enum、struct和NSArray中的随即指针。同时,你也不能再NSArray中存储nil(对象的零值或NULL值)。
可以通过类方法arrayWithObjects:创建一个新的NSArray。发送一个以逗号分隔的对象列表,在列表结尾添加nil代表列表结束。
NSArray *array = [NSArray arrayWithObjects:@"one",@"two",@"three",nil];
这行代码创建了一个由NSString字面量对象组成的3个元素的数组。
也可以使用数组字面量格式来创建一个数组,它与NSString字面量格式非常类似,区别是用方括号代替了引号,如下所示。
NSArry *array2 = @[@"one",@"two",@"three"];
- (NSUInteger) cuont;//获取数组所包含的对象个数
- (id)objectAtIndex:(NSUInteger)index;//通过字面量访问数组的语法与C语言中访问数组项的语法类似。
2.2可变数组
NSMutableArray通过类方法arraywWithCapacity来创建新的可变数组:
+(id) arrayWithCapacity:(NSUInteger) nuItems;
例:
NSMutableArrray *array = [NSMutableArray arrayWithCapacity: 17];
使用addObject:在数组末尾添加对象:
- (void) addObject: (id) anObject;
删除特定索引处的对象。
- (void) removeObjectAtIndex: (NSUInteger) index;
2.3枚举
使用NSEnumerator,需通过objectEnumerator向数组请求枚举器:
- (NSEnumetator *) objectEnumerator;
使用这个方法:
NSEnumerator *enumerator = [array objectEnumerator];
2.4快速枚举
for(NSStrin *string in array)
{
NSLog(@"I found %@",string);
}
为了支持代码块功能,苹果公司添加了一个能在NSArray中通过代码块枚举对象的方法,如下,
- (void) enumerateObjectsUsingBlock:(void(∧)(id obj,NSUInteger idx,BOOL *stop))block
3.NSDictionary
字典(dictioonary)是关键字及其定义的集合。NSDictiongary能在给定的关键字(通常是一个NSString字符串)下存储一个数值(可以是任何类型的Objective-C对象),然后可以用这个关键字来查找相应的数据。
学习字典的最简单的方法就是用字典字面量语法,它与类方法dictionaryWihtObjectsAndKeys:非常类似。
字面量语法即使用类似@{key:value,...}的方法来定义。需要注意它使用的是大括号而不是方括号。还要注意dictionaryWithObjectsAndKeys:后面的参数先是要存储的对象,然后才是关键字,而字面量的语法则是关键字在前,数值在后。关键字和数值之间以冒号分开,而每对键值之间则是用逗号分开。
+ (id) dictionaryWithObjectsAndkeys: (id) firstObject,...;
该方法接受对象和关键字交替出现的序列,你nil值作为终止符号。
使用objectForKey:方法并传递前面用来存储的关键字,就可以访问字典中的数值了:
- (id) objectForkey: (id) aKey;
向NSMutableDictionary类发送dictionary消息,便可以创建新的NSMutableDictionary对象,也可以使用dictionaryWithCapacity:方法来创建新的可变字典告诉Cocoa该字典的最终大小。
+ (id) dictionaryWithCapacity: (NSUIneger) numItems;
在字典中删除一些关键字,使用removeObjectForKey:方法:
- (void) removeObjectForKye: (id) aKey;
4.其他数值
4.1NSNumber
Cocoa提供了NSNumber类来封装基本数据类型。可以使用以下类方法来创建新的NSNumber对象:
+ (NSNumber *) numberWithChar: (char) value;
+ (NSNumber *) numberWithInt: (int) value;
+ (NSNumber *) numberWithFloat:(float) value;
+ (NSNumber *) numberWithBool: (BOOL) value;
4.2NSValue
NSNumber 实际上是NSValue的子类,NSValue可以封装任意值。
创建新的NSValue对象。
+ (NSValue *) valueWithBytes: (const void *) value objCType: (const char *) type;
4.2NSNull
+ (NSNull *) null;
使用类方法stringWithCapacity:来创建一个新的NSMutableString,声明如下:
+(id) stringWithCapacity:(NSUInteger) capacity;
这个容量只是给NSMutableString一个建议,可以超过其大小。
例:
NSMutableString *string = [NSMutableString stringWithCapacity:42];
一种常见的操作是通过appendString:或appendFormat:来附加新字符串,如下所示。
- (void) appendString:(NSString *) aString;
- (void) appendFormat:(NSString *) format,...;
appendString:接受参数aString,然后将其复制到接受对象的末尾。appendFormat:的工作方式与stringWithFormat:类似,但并没有创建新的字符串,而是将格式化的字符串附加在了接受字符串的末尾。例如:
NSMutableString *string = [NSMutableString stringWithCapacity:50];
[string appendString:@"Hello there"];
[string appendFormat:@"human %d!",39];
这段代码最后的结果是string被赋值为“Hello here human 39!”。
使用deleteCharactersInRange:方法删除字符串中的字符。
- (void) deleteCharactersInRange:(NSRange) aRange;
NSMutableString是NSString的子类。
例:
假设你列出了所有朋友的名字,但又觉得不喜欢Jacker了,想把他从列表中删除,如下
NSMutableString *friends = [NSMutableString stringWithCapacity:50];
[friends appendString:@"James BethLynn Jack Evan"];
接下来找到Jack的名字在字符串中的范围
NSRange jackRange = [friends rangOfString:@"Jackk"];
jackeRange.length++;//eat the space that follows
踢掉Jack
[friends deleteCharactersInRange: JackRange];
NSMutableString继承自NSString的字符格式化来创建一个可变字符串:
NSMutableString *string = [NSMutableString stringWithFormat:@“jo%dy,2”];
string的初始值为jo2y
2.集合大家族
2.1NSArry
NSArry类有两个限制。首先,它只能存储Objective-C的对象,而不能存储原始的C语言基础数据类型,如int、float、enum、struct和NSArray中的随即指针。同时,你也不能再NSArray中存储nil(对象的零值或NULL值)。
可以通过类方法arrayWithObjects:创建一个新的NSArray。发送一个以逗号分隔的对象列表,在列表结尾添加nil代表列表结束。
NSArray *array = [NSArray arrayWithObjects:@"one",@"two",@"three",nil];
这行代码创建了一个由NSString字面量对象组成的3个元素的数组。
也可以使用数组字面量格式来创建一个数组,它与NSString字面量格式非常类似,区别是用方括号代替了引号,如下所示。
NSArry *array2 = @[@"one",@"two",@"three"];
- (NSUInteger) cuont;//获取数组所包含的对象个数
- (id)objectAtIndex:(NSUInteger)index;//通过字面量访问数组的语法与C语言中访问数组项的语法类似。
2.2可变数组
NSMutableArray通过类方法arraywWithCapacity来创建新的可变数组:
+(id) arrayWithCapacity:(NSUInteger) nuItems;
例:
NSMutableArrray *array = [NSMutableArray arrayWithCapacity: 17];
使用addObject:在数组末尾添加对象:
- (void) addObject: (id) anObject;
删除特定索引处的对象。
- (void) removeObjectAtIndex: (NSUInteger) index;
2.3枚举
使用NSEnumerator,需通过objectEnumerator向数组请求枚举器:
- (NSEnumetator *) objectEnumerator;
使用这个方法:
NSEnumerator *enumerator = [array objectEnumerator];
2.4快速枚举
for(NSStrin *string in array)
{
NSLog(@"I found %@",string);
}
为了支持代码块功能,苹果公司添加了一个能在NSArray中通过代码块枚举对象的方法,如下,
- (void) enumerateObjectsUsingBlock:(void(∧)(id obj,NSUInteger idx,BOOL *stop))block
3.NSDictionary
字典(dictioonary)是关键字及其定义的集合。NSDictiongary能在给定的关键字(通常是一个NSString字符串)下存储一个数值(可以是任何类型的Objective-C对象),然后可以用这个关键字来查找相应的数据。
学习字典的最简单的方法就是用字典字面量语法,它与类方法dictionaryWihtObjectsAndKeys:非常类似。
字面量语法即使用类似@{key:value,...}的方法来定义。需要注意它使用的是大括号而不是方括号。还要注意dictionaryWithObjectsAndKeys:后面的参数先是要存储的对象,然后才是关键字,而字面量的语法则是关键字在前,数值在后。关键字和数值之间以冒号分开,而每对键值之间则是用逗号分开。
+ (id) dictionaryWithObjectsAndkeys: (id) firstObject,...;
该方法接受对象和关键字交替出现的序列,你nil值作为终止符号。
使用objectForKey:方法并传递前面用来存储的关键字,就可以访问字典中的数值了:
- (id) objectForkey: (id) aKey;
向NSMutableDictionary类发送dictionary消息,便可以创建新的NSMutableDictionary对象,也可以使用dictionaryWithCapacity:方法来创建新的可变字典告诉Cocoa该字典的最终大小。
+ (id) dictionaryWithCapacity: (NSUIneger) numItems;
在字典中删除一些关键字,使用removeObjectForKey:方法:
- (void) removeObjectForKye: (id) aKey;
4.其他数值
4.1NSNumber
Cocoa提供了NSNumber类来封装基本数据类型。可以使用以下类方法来创建新的NSNumber对象:
+ (NSNumber *) numberWithChar: (char) value;
+ (NSNumber *) numberWithInt: (int) value;
+ (NSNumber *) numberWithFloat:(float) value;
+ (NSNumber *) numberWithBool: (BOOL) value;
4.2NSValue
NSNumber 实际上是NSValue的子类,NSValue可以封装任意值。
创建新的NSValue对象。
+ (NSValue *) valueWithBytes: (const void *) value objCType: (const char *) type;
4.2NSNull
+ (NSNull *) null;
相关文章推荐
- Linux驱动开发之主设备号找驱动,次设备号找设备
- 实用工具——【1】java程序生成Windows安装程序
- SIP信令中的PRACK的含义和使用
- 笔记——表单
- js原型与原型链
- 多线程之一:简单多线程
- 代理设计模式之安卓中的实际应用
- android 友盟分享一直返回分享取消
- shiro 授权
- 快速排序java版
- 文件加解密—解密版
- Java中的装箱,拆箱详解
- ASP.NET Web API中通过ETag实现缓存
- memcached源码分析-----item过期失效处理以及LRU爬虫
- 寒假比赛训练(持续更新)
- 自己手写使用python爬取糗事百科段子
- iOS 页面间几种传值方式(属性,代理,block,单例,通知)
- 不同区域控制器名称相同出错的解决方法(备忘)
- Activity切换动画overridePendingTransition
- CSS3网格布局基础知识 - 弹性尺寸的定义单位:fr 简介及实例