您的位置:首页 > 其它

OC学习小结之Foudation -NSString

2015-03-21 20:15 218 查看

1)常用方法。

uppercaseString: //所有字母变大写
lowercaseString: //所有字母变小写
capitalizedString: //首字母大写

compare: //比较结果为 NSCmparisonResult类型
isEqualToString://判断两个字符串对象是否相同
caseInsesintiveCompare: //忽略大小写进行比较

hasPrefix: //判断参数对象字符串是否是原字符串的起始字符
hasSuffix : //-----------------结尾字符
rangeOfString: //判断原字符串是否包含参数字符,如果包含,返回第一个的NSRange类型
rangeOfString: aString options : NSBackwardsSearch //从后开始搜索
rangeOfString: aString options : mask Range : //指定范围和起始位置搜索

conponentsSerperatedByString: //将原字符串,以参数的形式链接
pathWithConponents://将数组中的字符串拼成路径
pathConponents://将路径分解为字符数组
lastPathConponent://获取最后一个目录
isAbsolutePath://是否为绝对路径
stringByDeletdingLastPath://删除最后一个目录
stringByAppendingPathconponent://在路径后拼接一个目录

length://返回字符串长度

2)字符数组的遍历

NSArray *array=[NSArray arrayWithObjects:@"1",@"2",@"3",nil];
for循环遍历
int count=array.Count;
for(int i=0;i<coun;i++)
{
id *obj=[array objectAtIndex:i];
NSLog(@"%@",obj);
}
增强for循环语句
for(id obj in array)
{
NSLog(@"%@",obj);
}
OC自带enumerateObjectsUsingBlock:方法
[array enumerateObjectsUsingBlock:^(id obj,NSUInteger idx,BOOL *stop){
NSLog(@"%@",obj);
}];
枚举器
NSEnumerator * enumerateor = [array objectEnumerator];

NSString * value;

while (value = [enumerateor nextObject]) {

NSLog(@"enum str %@",value);

}

3)排序

NSArray *array=[NSArray arrayWithObjects:@"3",@"2",@"5",nil];

1.数组元素都为NSString的对象可直接调用 sortedArrayUsingComparator:@selector(compare:)
NSArray * array1=[array sortedArrayUsingComparator:@selector(compare:)];

2.如果排序为其他对象:例如Animal 对象,含有age变量

在Animal中重写方法
-(NSComparisonResult)compare :(Animal *) obj{
return [self.age compare:ob.age];
}
NSArray * array1=[array sortedArrayUsingComparator:@selector(compare:)];

调用block方法
NSArray *array1=[array sortedArrayUsingComparator:^NSComparisonResult( id obj1,id obj2){
return [obj1 compare:obj2];
}]

3.高级排序--排序描述器

NSSortDescriptor *descriptor = [NSSortDescriptor sortDescriptorWithKey:@"age" ascending:YES];

NSArray *array2=[NSArray arrayWithObject:descriptor];
NSArray *array1 = [array3 sortedArrayUsingDescriptors:array1];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: