A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 天蚕飞 中级黑马   /  2014-8-16 11:32  /  2272 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 天蚕飞 于 2014-8-18 00:18 编辑

一些特殊类
1、NSStringEncoding
编码,一般使用NSUTF8StringEncoding,基本实现国际化,起码识别中文。
2、NSError
错误,通常使用NSError**,nil
要记录错误,通常使用如下
定义error:
3、NSError *error;
获取error:
在需要记录错误的地方,传入&error,可以理解为error是一个存放错误信息的字符串;
4、NSURL
OC的资源文件
组成:协议头//资源路径
协议头:http://,ftp://,file://,等
5、NSComparisonResualt
一个枚举类型成员是NSOderedAscending,NSOderedDescending,NSOderedSame;
6、NSNotFound
7、迭代器NSEnumerator及相关方法使用
1>相关方法

//数组相关方法
- (void)enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL  *stop){};//Block方法遍历数组元素
- (NSEnumerator *)objectEnumerator;//由数组对象调用,获得数组迭代器(就是遍历器)
- (NSEnumerator *)reverseObjectEnumerator;//由数组对象调用,获得数组的反向迭代器(反向遍历器)
- (id)nextObject;//下一个迭代器元素
//字典相关方法
- (NSEnumerator *)keyEnumerator;//由字典对象调用,获得字典键key的迭代器
- (NSEnumerator *)objectEnumerator;//由字典对象调用,获得字典值value迭代器
- (id)nextObject;//下一个迭代器元素
2>遍历数组(常用Block)
①使用快速遍历数组
for(id obj in anarray)//其中的obj就是数组元素
②使用最常用的方法Block遍历数组
- (void)enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL  *stop){};//Block方法遍历数组元素
③使用迭代器遍历数组
a、首先获得迭代器objectEnumerator;
b、遍历每个元素nextObject;
eg:
NSEnumerator *enumerator = [anarray objectEnumerator];//获得迭代器
id obj = nil;
while(obj = [enumerator nextObject])                                                                        //遍历数组
{
        NSLog(@"obj = %@",obj);
}
3>遍历字典(常用Block)
①使用快速遍历字典
for(id key in dict)//快速遍历字典的所有key
②使用Block
- (void)enumerateKeysAndObjects:^(id key, id obj, BOOL *stop){};
③使用迭代器
a、首先获得迭代器objectEnumerator/keyEnumerator;
b、遍历每个元素nextObject;
- (void)enumerateKeysAndObjectsUsingBlock:^(id key, id  obj, BOOL *stop){};
8、排序描述器NSSortDescriptor及相关方法
1>相关方法
//数组相关方法
- (NSArray *)sortedArrayUsingSelector:(SEL)//通过SEL排序,SEL可自定义
- (NSComparisonResult)compare:(id)obj;//字符串比较
自定义排序方法,返回值必须是NSComparisonResult;最好以compare开头
- (NSArray *)sortedArrayUsingComparator:^(NSComparisonResult)(id obj1, id obj2){};//利用排序比较器Comparator排序,就是个Block
- (NSSortDescription *)sortDescriptorWithKey:(id)aKey ascending:YES;//排序描述器生成,这里的aKey应该是@property后面的名字,而不是带有下划线的成员变量名
2>数组排序方法
①自定义排序方法
- (NSArray *)sortedArrayUsingSelector:(SEL)//通过SEL排序,SEL可自定义
- (NSComparisonResult)compare:(id)obj;//字符串比较
自定义排序方法,返回值必须是NSComparisonResult;最好以compare开头
②排序描述器顺序
a、定义排序描述器
b、将排序描述器装入描述器数组
c、排序
eg:对array数组排序
//定义排序描述器
NSSortDescriptor *lastName = [NSSortDescriptor sortDescriptorWithKey:@"lastname" ascending:YES];
NSSortDescripttor *firstName = [NSSortDescriptor sortDescriptorWithKey:@"firstname" ascending:YES];
//装入排序描述器数组
NSArray *arrayDesc = [NSArray arrayWithObjects:lastName, firstName,nil];
NSArray *arraySorted = [array sortedArrayUsingDescription:arrayDesc];

3 个回复

倒序浏览
兄弟!预祝你今天面试成功!加油!
回复 使用道具 举报
本帖最后由 天蚕飞 于 2014-8-17 08:58 编辑
kaid 发表于 2014-8-17 04:37
兄弟!预祝你今天面试成功!加油!

谢谢:lol
回复 使用道具 举报
    兄弟,预祝你今天面试成功!回来的时候记得分享下心得:)跟我们讲讲一些基本情况
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马