Objective--C的Foundation frame之NSMutableArray代码

 1 #import <Foundation/Foundation.h>
 2 
 3 @interface Person : NSObject
 4 
 5 @property (nonatomic, strong)NSString *personName;
 6 - (id)initWithName:(NSString *)name;
 7 
 8 @end
 9 
10 #import "Person.h"
11 
12 @implementation Person
13 
14 - (id)initWithName:(NSString *)name
15 {
16     if (self = [super init])
17     {
18         _personName = name;
19     }
20     return self;
21 }
22 
23 @end
24 
25 #import <Foundation/Foundation.h>
26 #import "Person.h"
27 int main(int argc, const char * argv[])
28 {
29     @autoreleasepool
30     {
31         Person *p1 = [[Person alloc] initWithName:@"张三"];
32         Person *p2 = [[Person alloc] initWithName:@"李四"];
33         Person *p3 = [[Person alloc] initWithName:@"王五"];
34         NSArray *personArray = [[NSArray alloc] initWithObjects:p2, p3, nil];
35         
36         NSMutableArray *array = [[NSMutableArray alloc] init];
37         //添加元素
38         [array addObject:p1];
39         [array addObjectsFromArray:personArray];
40         NSLog(@"%@", array);
41         //删除元素
42         //删除数组内所有的元素
43 //        [array removeAllObjects];
44         //删除数组最后一个元素
45 //        [array removeLastObject];
46         //删除指定元素
47         [array removeObject:p2];
48         //删除指定下标的元素(注意数组内元素的个数下标问题会导致崩溃)
49 //        [array removeObjectAtIndex:2];
50         NSLog(@"2.%@", array);
51         
52         //交换元素的位置
53         [array exchangeObjectAtIndex:0 withObjectAtIndex:1];
54         NSLog(@"%@", array);
55     }
56     return 0;
57 }

 *************补充NSArray***********

 1 #import <Foundation/Foundation.h>
 2 
 3 int main(int argc, const char * argv[])
 4 {
 5     @autoreleasepool
 6     {
 7         //  OC的数组可以存储不同类型的对象,OC的数组只能存储对象
 8         NSArray *array1 = [[NSArray alloc] initWithObjects:@"a", @"b", @"c", @"d", @"e", nil];
 9         //  数组的长度
10         int count = (int)array1.count;
11         NSLog(@"count = %d", count);
12         //判断数组中是否包含对应的对象
13         BOOL isHave = [array1 containsObject:@"c"];
14         if (isHave)
15         {
16             NSLog(@"存在");
17         }
18         else
19         {
20             NSLog(@"不存在");
21         }
22         //取得数组中的最后一个元素
23         NSString *str = [array1 lastObject];
24         NSLog(@"str = %@", str);
25         //取首元素
26         str = [array1 firstObject];
27         NSLog(@"str = %@", str);
28         //取出下标为2的元素****
29         str = [array1 objectAtIndex:2];
30         NSLog(@"str = %@", str);
31         //打印元素所对应的下标(如果元素不存在则打印-1的值)
32         int index = (int)[array1 indexOfObject:@"d"];
33         NSLog(@"index = %d", index);
34         
35         //数组的遍历(1.基本的for循环通过下标逐一取出查看。2.for in 快速枚举。3.枚举器(迭代器))
36         for(int i = 0; i < count; ++i)//int count = (int)array1.count;
37         {
38             NSLog(@"%@", array1[i]);
39         }
40         //或者
41         for(int i = 0; i <count; ++i)
42         {
43             NSString *str1 = [array1 objectAtIndex:i];
44             NSLog(@"str1 = %@", str1);
45         }
46         //2.(如果使用快速枚举,我们需要让数组中元素的类型保持一致)
47         for(NSString *str2 in array1)
48         {
49             NSLog(@"str2 = %@", str2);
50         }
51         //3.枚举器
52         for(id object in array1)
53         {
54             NSLog(@"object = %@", object);
55         }
56         
57         return 0;
58     }
59 }
 1 2016-08-10 15:32:58.788 NSArray[1308:191388] count = 5
 2 2016-08-10 15:32:58.789 NSArray[1308:191388] 存在
 3 2016-08-10 15:32:58.789 NSArray[1308:191388] str = e
 4 2016-08-10 15:32:58.789 NSArray[1308:191388] str = a
 5 2016-08-10 15:32:58.789 NSArray[1308:191388] str = c
 6 2016-08-10 15:32:58.789 NSArray[1308:191388] index = 3
 7 2016-08-10 15:32:58.789 NSArray[1308:191388] a
 8 2016-08-10 15:32:58.789 NSArray[1308:191388] b
 9 2016-08-10 15:32:58.789 NSArray[1308:191388] c
10 2016-08-10 15:32:58.790 NSArray[1308:191388] d
11 2016-08-10 15:32:58.790 NSArray[1308:191388] e
12 2016-08-10 15:32:58.790 NSArray[1308:191388] str1 = a
13 2016-08-10 15:32:58.790 NSArray[1308:191388] str1 = b
14 2016-08-10 15:32:58.790 NSArray[1308:191388] str1 = c
15 2016-08-10 15:32:58.790 NSArray[1308:191388] str1 = d
16 2016-08-10 15:32:58.790 NSArray[1308:191388] str1 = e
17 2016-08-10 15:32:58.790 NSArray[1308:191388] str2 = a
18 2016-08-10 15:32:58.790 NSArray[1308:191388] str2 = b
19 2016-08-10 15:32:58.790 NSArray[1308:191388] str2 = c
20 2016-08-10 15:32:58.790 NSArray[1308:191388] str2 = d
21 2016-08-10 15:32:58.790 NSArray[1308:191388] str2 = e
22 2016-08-10 15:32:58.790 NSArray[1308:191388] object = a
23 2016-08-10 15:32:58.791 NSArray[1308:191388] object = b
24 2016-08-10 15:32:58.791 NSArray[1308:191388] object = c
25 2016-08-10 15:32:58.791 NSArray[1308:191388] object = d
26 2016-08-10 15:32:58.791 NSArray[1308:191388] object = e
27 Program ended with exit code: 0
原文地址:https://www.cnblogs.com/songlei0601/p/5748937.html