NSArray

来源:互联网 发布:网狐手机棋牌游戏源码 编辑:程序博客网 时间:2024/05/17 02:04

1.替换
// 把range标识的数组中范围内的对象用另一个数组中所有的对象去替换

[mArray replaceObjectsInRange:NSMakeRange(2, 1) withObjectsFromArray:@[@"Noodle", @"Banana"]];

在数组中存储的是对象(对象的地址)

2.交换可变数组中对象位置(交换指向)

[mArray exchangeObjectAtIndex:0 withObjectAtIndex:1];

3.字符串分割
3.1 string–>字符串分隔数组
@” “和@”“不同,@”“空字符串 长度为0

NSString *str = @"I love  you china";        NSArray *arr = [str componentsSeparatedByString:@" "]; // 分空格分隔字符串,割成一块一块放到数组中
NSString *str2 = @" na jiu   shi wo  yao  de hua ban xie ";        //#na#jiu###shi#wo##yao##de#hua#ban#xie#        NSArray *arr2 = [str2 componentsSeparatedByString:@" "];        NSLog(@"%@", arr2); // 分隔符前后如果没有东西或者还是分隔符,那么它会分隔出空字符串@""        /**         (         "",         na,         jiu,         "",         "",         shi,         wo,         "",         yao,         "",         de,         hua,         ban,         xie,         ""         )

以空白字符和换行分割

 whitespace:空白字符 newline:换行NSString *str3 = @"hui\tjia de lu\nshang wo qing bu zi jin";        NSArray *arr4 = [str3 componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

以NSString组成NSSet的字符进行分割

NSString *str5 = @"mo ca mo ca, zai zhe guang hua de di shang mo ca";        NSCharacterSet *characterSet = [NSCharacterSet characterSetWithCharactersInString:@"as"];        NSArray *arr5 = [str5 componentsSeparatedByCharactersInSet:characterSet];

3.2 字符串分隔数组 –> string

NSArray *arr6 = @[@"zhen", @"de", @"hao", @"xiang", @"ni"];NSString *str6 = [arr6 componentsJoinedByString:@"露水"];

4.是否包含某对象

[arr containsObject:s4];

5.排序
sortedArrayUsingSelector:方法是生成一个排好序的数组并返回,
sortUsingSelector:方法是直接对原数组进行排序(当然,这个数组要是可变数组,不可变数组没有这个方法)
// 升序排序

[arr sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {    return [obj1 compare:obj2] > 0;}];
[arr enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {    //obj 数组元素    //idx 数组索引    NSLog(@"obj: %@  idx: %ld", obj, idx);    //当 idx == 1 的时候中途结束循环 不能用break 那么可以修改*stop = YES;    if (idx == 1) {        *stop = YES;    }}];

6.让数组中对象执行同一方法

// 打印一下数组中所有的学生信息[studentArr makeObjectsPerformSelector:@selector(printInfo)]
0 0
原创粉丝点击