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>"
)