Object-C基础:NSArray和 NSMutableArray

NSArray和 NSMutableArray

两者关系

  • 联系:都是自带的数组结构
  • 区别:NSArray 不可修改,NSMutable 可扩容,修改。此外,NSMutableArray必须

初始化

NSArray

 NSArray *array = [NSArray arrayWithObjects:@"第一个数据",@"第二个数据",@"第三个数据",nil]//最后 nil 为结束界限
 NSLog(@"\n array 的结构输出为:\n%@ ",array);

NSMutableArray

@interface Employee :NSObject{
    int count;
}
- (void) print: (int)count;
@end

@implementation Employee

 int count=1;
- (void) print: (int)i{
    NSLog(@"添加成功 %d",i);
}
@end

 NSMutableDictionary *executives = [[NSMutableDictionary alloc] init];
        for (int i=0; i < 9; i++) {
            Employee *person = [[Employee alloc] init];
            [employees addObject:person];
            [[employees  objectAtIndex:i] print:i];
            [executives setObject:person forKey: [NSNumber numberWithInt:i]];
        }
NSLog(@"\n employees 的结构输出为:\n%@ ",employees);

NSLog 输出结构:

NSArray

 array 的结构输出为:
(
    "\U7b2c\U4e00\U4e2a\U6570\U636e",
    "\U7b2c\U4e8c\U4e2a\U6570\U636e",
    "\U7b2c\U4e09\U4e2a\U6570\U636e"
) 

NSMutableArray

 employees 的结构输出为:
(
    "<Employee: 0x100209a60>",
    "<Employee: 0x1003002a0>",
    "<Employee: 0x100103d10>",
    "<Employee: 0x100209c30>",
    "<Employee: 0x100206480>",
    "<Employee: 0x100206490>",
    "<Employee: 0x10020a2d0>",
    "<Employee: 0x10020a0b0>",
    "<Employee: 0x10020a0c0>"
) 
posted @ 2015-06-12 10:57  Orange-W  阅读(173)  评论(0)    收藏  举报