//
// main.m
// NSMutableArray
//
// Created by LiuWei on 15/4/18.
// Copyright (c) 2015年 LiuWei. All rights reserved.
//
#import <Foundation/Foundation.h>
int main()
{
@autoreleasepool
{
// 创建具有一个元素的数组
NSMutableArray *array = [NSMutableArray arrayWithObject:@"one"];
NSLog(@" %p %@", array, array);
// 创建具有多个元素的数组
NSMutableArray *array2 = [NSMutableArray arrayWithObjects:@"one", @234, @23.4, @"two", nil];
NSLog(@"%@", array2);
// 添加元素
[array addObject:@"two"];
NSLog(@" %p %@", array, array);
// 删除指定对象
[array2 removeObject:@23.4];
NSLog(@" %p %@", array2, array2);
// 删除最后一个元素
[array2 removeLastObject];
NSLog(@" %p %@", array2, array2);
// 删除所有元素
[array2 removeAllObjects];
NSLog(@" %p %@", array2, array2);
// 删除指定索引处的元素
[array removeObjectAtIndex:0];
NSLog(@" %p %@", array, array);
NSArray *arr = @[@1, @1, @3, @3, @5, @6];
// 把参数数组中的所有元素添加到数组中
[array addObjectsFromArray:arr];
NSLog(@" %p %@", array, array);
NSRange range = NSMakeRange(0, 2);
// 在指定范围内删除所含有的指定元素
[array removeObject:@1 inRange:range];
NSLog(@" %p %@", array, array);
// 删除指定范围内的所有元素
[array removeObjectsInRange:range];
NSLog(@" %p %@", array, array);
// 删除与指定的数组相同的元素
[array removeObjectsInArray:@[@5, @6]];
NSLog(@" %p %@", array, array);
// 替换指定索引处的元素
[array replaceObjectAtIndex:1 withObject:@4];
NSLog(@" %p %@", array, array);
[array addObjectsFromArray:arr];
NSRange range1 = NSMakeRange(0, 2);
NSRange range2 = NSMakeRange(1, 3);
// 把指定数组指定的范围内的元素替换到本数组中指定的范围内
[array replaceObjectsInRange:range1 withObjectsFromArray:@[@7, @6, @5, @4] range:range2];
NSLog(@" %p %@", array, array);
}
return 0;
}