NSArray用法总结
初始化与赋值
NSArray *arr = [[NSArray alloc] init];
NSArrya *arr = @[@1, @2, @3];
NSArray *arr = [NSArray array];
NSArray *arr = [[NSArray alloc] arrayWithObject: @"1", @"2", @"3",nil];
NSArray *arr = [NSArray alloc] arryWithArray: arr2];
截取和处理数组
NSLog(@"数组具有的元素个数为: %ld", arr.count);
[arr firstObject];
[arr lastObject];
NSString *str = [arr objectAtIndex: x]);
NSLog(@"元素的下标为: %ld ", [arr indexOfObject: @"对象"]);
NSArray *arr2 = [arr1 arrayByAddingObject: @"元素"];
NSLog(@"%@ ", [arr firstObjectCommonWithArr: arr2]);
NSString *str = [arr componentsJoinedByString: @"指定字符串"];
NSArray *arr = [str componentsSeparatedByString: @"指定字符串"];
文件读写
[arr writeToFile: @"path" atomically: YES/NO];
NSArray *arr [NSArray arrayWithContentsOfFile: @"path"];
数组判断
BOOL tmp = [arr containObject: @"元素"];
BOOL tmp = [arr1 isEqualToArray: arr2];
数组遍历
for(int i=0; i<[arr.count]; i++)
{
NSLog(@"%ld ", [arr objectAtindex: i]);
}
for(id obj in arr)
{
NSLog(@"%@ ", obj);
}
NSEnumerator *enumerator = [arr objectEnumerator];
id obj = nil;
while(obj = [enumerator nextObject]){
NSLog(@"obj = %@", obj);
}
[arr enumeratorObjectsUsingBlock: ^(id obj, NSUInteger index, BOOL *stop){
if(indx == x){
*stop = YES;
}
else{
NSLog(@"indx = %ld, obj = %@" ,indx, obj);
}
}];
NSMutableArray用法总结
NSMutableArray *mArr = [[NSMutableArray alloc] initWithCapacity: x];
截取和处理可变数组
[mArr addObject: @"字符串"];
[mArr insertObject: @"字符串" atIndex: x];
[mArr replaceObjectAtIndex: x withObject: @"替换的字符串"];
[mArr removeObject: @"字符串"];
[mArr removeObjectAtIndex: x];
[mArr removeObjectsInArray: arr];
[mArr removeAllObjects];
[mArr addObjectsFromArray: arr];
NSMutableArray *mArr = [NSMutableArray alloc] init];
NSArray *arr = [NSArray arrayWithObjects: @"a", @"b",nil];
id obj;
for(int i=0; i<arr.count; i++)
{
obj = [arr objectAtIndex: i] copy];
[mArr addObject: obj];
}
可变数组遍历
NSEnumerator *enumerator = [mArr objectEnumerator];
while (id obj = [enumerator nextObject]){
NSLog(@"obj: %@ ", obj);
}
NSEnumerator *enumerator = [mArr reverseObjectEnumerator];
while (id obj = [enumerator nextObject]) {
NSLog(@"obj: %@ ",obj);
}