标签:
1. 可变字符串
NSMutableString* mstr = [[NSMutableString alloc] initWithCapacity:10];
增 删 改 替换
//[mstr length]
[mstr insertString:@"http://" atIndex:0];
//第一个参数:即将要插入的字符串
//第二个参数:插入的位置(下标)
NSLog(@"%@",mstr);
[mstr insertString:@"www.baidu.com" atIndex:[mstr length]];
NSLog(@"%@",mstr);
//1.1 追加:
[mstr appendFormat:@"?username=zhang"];
NSLog(@"%@",mstr);
//1.2 删除
[mstr deleteCharactersInRange:NSMakeRange(20, 15)];
//参数:所要删除内容的范围。
NSLog(@"%@",mstr);
//1.3 修改
[mstr setString:@"aabb"];
//参数:新的内容
NSLog(@"mstr: %@",mstr);
//1.4 替换
[mstr replaceCharactersInRange:NSMakeRange(1, 2) withString:@"cc"];
//参数:第一个参数指定要替换的范围 第二个参数:新的内容。
NSLog(@"mstr: %@",mstr);
[mstr replaceOccurrencesOfString:@"a" withString:@"A" options:0 range:NSMakeRange(0, mstr.length)];
//参数:第一个参数:即要替换的内容 第二个参数:新内容 第三个参数:查找方式 第四个参数:查找范围
//功能:将查找范围内所有匹配的子串全部替换为新内容。
NSLog(@"mstr: %@",mstr);
//1.5 字符串的分割 //http://www.baidu.com?username=zhang
[mstr setString:@"https://www.baidu.com/s?cl=3&tn=baidutop10&fr=top1000&wd=2016%E8%8B%B9%E6%9E%9C%E5%8F%91%E5%B8%83%E4%BC%9A&rsv_idx=2"];
NSArray* array = [mstr componentsSeparatedByString:@"?"];
NSLog(@"%@",array);
//获取数组中的某元素
NSString* component = array[1];
NSLog(@"%@",component);
NSArray* array1 = [component componentsSeparatedByString:@"&"];
NSLog(@"array1:%@",array1);
2. //数组 遍历
//1. 不可变数组
NSArray* array = [[NSArray alloc] initWithObjects:@"hello", @"world", @"Hi" , [NSNumber numberWithInt:10],nil];
//参数:数组元素(只能是OC中的非nil对象)
NSArray* array1 = [NSArray arrayWithObjects:@"张三",@"李四",@"王五", nil];
//类方法,数组array1被加入自动释放池中
//遍历数组:
NSLog(@"%@",array);
NSLog(@"%@",array1);
//1.1 常规遍历
for (int i = 0; i < [array1 count]; i++) {
//[array1 cout]获取数组元素的个数
NSLog(@"%@",array1[i]);
NSLog(@"%@",[array1 objectAtIndex:i]); //与array1[i]等价
}
//1.2 快速遍历
for (id object in array1) {
NSLog(@"%@",object);
}
[array release];
//获取指定对象的位置
NSUInteger index = [array indexOfObject:@"Hi"];
//参数:待查找的元素
if (index == NSNotFound) {
NSLog(@"aa is not in array !");
}
else
NSLog(@"该元素的下标是:%lu",index);
//2. 可变数组
NSMutableArray* marry = [[NSMutableArray alloc] initWithCapacity:4];
NSMutableArray* marry1 = [[NSMutableArray alloc] initWithCapacity:4];
//增 删 交换
//2.1 增加元素
[marry addObject:@"Hello"];
//参数:即将加入集合的元素,默认将元素加入到集合的末尾
[marry insertObject:@"World" atIndex:0];
//参数一:即将插入的对象 参数二:位置(下标)
NSLog(@"%@",marry); //向数组中插入元素时,只能插入非空对象。
//2.2 删除元素
[marry removeObject:@"Hello"]; //删除指定的对象
NSLog(@"%@",marry);
[marry addObject:@"admin1"];
[marry addObject:@"admin2"];
[marry addObject:@"admin3"];
[marry removeObjectAtIndex:1]; //删除指定位置的元素 注意:下标不能越界。
NSLog(@"%@",marry);//删除最后一个元素
[marry removeLastObject];
NSLog(@"%@",marry);
//2.3 交换元素
[marry exchangeObjectAtIndex:0 withObjectAtIndex:1];
NSLog(@"%@",marry);
[marry removeAllObjects];//删除所有元素(清空容器)
NSLog(@"%@",marry);
//2.3 数组排序
NSArray* sortArray = [marry sortedArrayUsingSelector:@selector(compare:)];//返回值类型是对 象 receiver既可以是可变数组,
又可以是不可变数组 receiver的内容不好收到任何影响 将排序完成后的内容存至一个新数组进行返回
//默认使用系统的compare:进行数组元素的两两比较,最终的数列是按从小到大的顺序进行排列。
NSLog(@"marry:%@ sortArray:%@",marry,sortArray);
[marry sortUsingSelector:@selector(compare:)];//返回类型是void receiver只能是可变数组,排序时直接修改receiver,不会返回任何数据
NSLog(@"marry:%@",marry);
标签:
原文地址:http://www.cnblogs.com/cai1432452416/p/5305979.html