// 基本结构的数组 NSArry NSMutableArray
Dog *dog = [[Dog alloc]init];
NSLog(@"%@", dog);
// 数组元素可以是任何对象,数组中装有元素的地址
NSArray *array = [[NSArray alloc]initWithObjects:@"one one",@"bb",@"cc", dog, nil];
// 遍历打印数组的每一个元素(当单词多于一个时,打印的字符串会有“”)
// 直接打印打印的是数组中的每一个元素(重写了description)
NSLog(@"%@", array);
// 枚举器法遍历
NSEnumerator *enumerator = [array objectEnumerator];
id obj;
while (obj = [enumerator nextObject]) {
NSLog(@"%@", obj);
}
// 快速枚举法遍历
for (id obj in array) {
NSLog(@"%@", obj);
}
// 使用I值遍历
//NSUInteger length = [array count];
obj = [array objectAtIndex:2];
NSLog(@"%@", obj);
NSInteger i ;
for (i = 0; i < [array count]; i++) {
NSLog(@"%@", [array objectAtIndex:i]);
}
可变数组NSMutableArray
NSMutableArray *array = [[NSMutableArray alloc]init];
添加元素
[array addObject:@"one"];
[array addObject:@"two"];
[array addObject:@"three"];
// 删除元素
// 1,删除指定字符串
[array removeObject:@"one"];//和上面One是相同的,若创建的字符串形同,则是同一个对象,再删除其他的对象时,要传入的是地址
// 2,删除指定位置的字符串
[array removeObjectAtIndex:1];
// 3,交换两个元素的位置(0 和 2)
[array exchangeObjectAtIndex:0 withObjectAtIndex:2];
// 和NSarray一样进行遍历(在枚举过程不可以进行字符串的删除)
// m枚举逆序遍历是可修改
NSEnumerator *em = [array objectEnumerator];
NSString *str ;
while (str = [em nextObject]) {
[array removeLastObject];
}
//在逆序遍历时可以修改
NSEnumerator *em = [array reverseObjectEnumerator];
NSString *str ;
while (str = [em nextObject]) {
[array removeLastObject];
}
NSString *str = @"i am a so bad man";
// 以单词为单位逆序输出(分割字符串)
NSArray *array = [str componentsSeparatedByString:@" "];
// 1,初始化
NSMutableArray *mutableArray = [[NSMutableArray alloc]init];
NSEnumerator *em = [array reverseObjectEnumerator];
NSString *obj;
while (obj = [em nextObject]) {
[mutableArray addObject:obj];
}
// 连接字符串
NSString *newstring = [mutableArray componentsJoinedByString:@"@"];
NSLog(@"%@", newstring);
Dog *dog = [[Dog alloc]init];
NSLog(@"%@", dog);
// 数组元素可以是任何对象,数组中装有元素的地址
NSArray *array = [[NSArray alloc]initWithObjects:@"one one",@"bb",@"cc", dog, nil];
// 遍历打印数组的每一个元素(当单词多于一个时,打印的字符串会有“”)
// 直接打印打印的是数组中的每一个元素(重写了description)
NSLog(@"%@", array);
// 枚举器法遍历
NSEnumerator *enumerator = [array objectEnumerator];
id obj;
while (obj = [enumerator nextObject]) {
NSLog(@"%@", obj);
}
// 快速枚举法遍历
for (id obj in array) {
NSLog(@"%@", obj);
}
// 使用I值遍历
//NSUInteger length = [array count];
obj = [array objectAtIndex:2];
NSLog(@"%@", obj);
NSInteger i ;
for (i = 0; i < [array count]; i++) {
NSLog(@"%@", [array objectAtIndex:i]);
}
可变数组NSMutableArray
NSMutableArray *array = [[NSMutableArray alloc]init];
添加元素
[array addObject:@"one"];
[array addObject:@"two"];
[array addObject:@"three"];
// 删除元素
// 1,删除指定字符串
[array removeObject:@"one"];//和上面One是相同的,若创建的字符串形同,则是同一个对象,再删除其他的对象时,要传入的是地址
// 2,删除指定位置的字符串
[array removeObjectAtIndex:1];
// 3,交换两个元素的位置(0 和 2)
[array exchangeObjectAtIndex:0 withObjectAtIndex:2];
// 和NSarray一样进行遍历(在枚举过程不可以进行字符串的删除)
// m枚举逆序遍历是可修改
NSEnumerator *em = [array objectEnumerator];
NSString *str ;
while (str = [em nextObject]) {
[array removeLastObject];
}
//在逆序遍历时可以修改
NSEnumerator *em = [array reverseObjectEnumerator];
NSString *str ;
while (str = [em nextObject]) {
[array removeLastObject];
}
NSString *str = @"i am a so bad man";
// 以单词为单位逆序输出(分割字符串)
NSArray *array = [str componentsSeparatedByString:@" "];
// 1,初始化
NSMutableArray *mutableArray = [[NSMutableArray alloc]init];
NSEnumerator *em = [array reverseObjectEnumerator];
NSString *obj;
while (obj = [em nextObject]) {
[mutableArray addObject:obj];
}
// 连接字符串
NSString *newstring = [mutableArray componentsJoinedByString:@"@"];
NSLog(@"%@", newstring);