NSArray和NSString的联合使用
数组其实也可以和别的类型联合使用, 比如说和NSString一起来使用吧~
这里涉及到的方法:
componentsSeparatedByString: 这个的意思就是把字符串以什么样的形式切分, 比如在例子里我是用空格切分的(@" "), 当然你也可以丧心病狂一些, 尝试各种符号.
reverseObjectEnumerator:这个方法的意思就是使用一个枚举器把切分好的字符串倒过来排序并返回给枚举对象.
componentsJoinedByString:这个方法的意思是要把切分并且倒过来的字符以什么样的形式再组合在一起, 比如在例子里我是用空格组合的(@" ").
下面我们来看看例子:
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSString *str = @"I am a human"; //componentsSeparatedByString的意思就是使用某个东西来分割字符串. //并且把每一个单词放到各自的数组当中. //这里是用了空字符作为分割. NSArray *array = [str componentsSeparatedByString:@" "]; //由于返回的数组是一个不可变的数组, 所以我们不能直接的去逆序, 需要有一个媒介. NSLog(@"%@", array); NSMutableArray *mutableArray = [NSMutableArray new]; //reverseObjectEnumerator:的意思就是, 使用一起枚举器将原来的字符串倒序后并且返回给指定的对象. NSEnumerator *enumerator = [array reverseObjectEnumerator]; NSString *string;//由于都是字符串, 所以使用一个字符串类型作为媒介. while(string = [enumerator nextObject]){ [mutableArray addObject:string]; } //componentsJoinedByString:是指用指定的符号或者其他东西. //把上面拆分倒序好的单词拼接起来. NSString *newStr = [mutableArray componentsJoinedByString:@" "]; NSLog(@"\n%@", newStr); [mutableArray release]; } return 0; }
输出的结果:
2014-10-13 20:37:10.896 NSStringNSArray[6541:303] ( I, am, a, human ) 2014-10-13 20:37:10.898 NSStringNSArray[6541:303] human a am I Program ended with exit code: 0