一:数组介绍:数组
一、定义:spa
简单地说就是元素的集合。OC中数组能够保存不一样类型的对象,但只能保存对象。不能保存基本类型,若保存基本数据类型code
(int double float ....),须要转换成对象(NSString NSNumber...)保存。数组的最后一个元素为是nil,表示结束。对象
二、分类:three
可变数组 NSMutableArrayrem
不可变数组 NSArray it
(可不可变是指个数能不能改变,数组元素的值仍是能够改变的)io
二:使用:
for循环
一、初始化:table
NSArray *array = [[NSArray alloc] initWithObjects:@"one",@"two",@"three",@"four", nil]; NSArray *array2 = [NSArray arrayWithObjects:@"1",@"2",@"3", nil]; // 不一样类型的元素 NSArray *array3 = [NSArray arrayWithObjects:@"1",array,@"2",array2,@"3", nil]; // 经过一个数组,来建立一个数组! NSArray *array4 = [[NSArray alloc] initWithArray:array]; NSArray *array5 = [NSArray arrayWithArray:array];
二、增:
NSArray 不能增长元素
NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:@"one",@"two", nil]; [array addObject:@"three"]; // 在下标为1的地方,插入一个元素 [array insertObject:@"five" atIndex:1];
三、删
NSArray 不能删除元素
[array removeObjectAtIndex:0]; [array removeObject:@"one"]; [array removeLastObject]; [array removeAllObjects];
四、查
//根据下标 [array objectAtIndex:0]; //是否包含 [array containsObject:@"1"]; //个数 [array count]; //最后一个元素 [array lastObject];
五、改
[array replaceObjectAtIndex:2 withObject:@"one"]; [array exchangeObjectAtIndex:0 withObjectAtIndex:1];
六、遍历
//方法1 for循环 for (int i = 0; array.count; i++) { NSLog(@"%@",[array objectAtIndex:i]); } //方法2 枚举 for (<#type *object#> in <#collection#>) { <#statements#> } 例如: for (NSString *str in array) { NSLog(@"%@",str); } //方法3 枚举器 NSEnumerator *enumerator = [array objectEnumerator]; id obj = nil; while(obj = [enumerator nextObject]){ NSLog(@"obj=%@",obj); } // 建立一个倒序的枚举器 enumerator = [array reverseObjectEnumerator]; while (obj = [enumerator nextObject]) { NSLog(@"obj = %@",obj); } //方法4 block [array enumeratorObjectsUsingBlock: ^(id obj, NSUInteger index, BOOL *stop){ NSLog(@"%i-%@",index,obj); //若终断循环 *stop = YES; }];
七、比较
[array isEqualToArray:array1];