200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > Object-C数组和字典

Object-C数组和字典

时间:2019-11-03 16:49:08

相关推荐

Object-C数组和字典

// 数组 (NSArray)

// 系统提供的数组类 -- 类似于c语言中的数组

// OC中的数组是个大容器,可以存放不同类型的对象, 且只能保存对象(基本数据类型不可存)

// OC数组提供两类数组 NSArray(不可变数组) NSMUatableArray (可变数组)

// 可变与不可变区别:

// 可变意味着对原有的对象进行曾删改操作, 而不可变就意味着数组一经创建不能修改

// 1. 创建对象

#if 0

// 1). 初始化方法

NSArray *array = [[NSArray alloc] initWithObjects:@"aaa", @"bbb", @"ccc", nil];

NSLog(@"%@", array);

NSArray *array1 = [[NSArray alloc] initWithArray:array];

NSLog(@"%@", array1);

// 2). 便利方法

NSArray *arr = [[NSArray alloc] initWithObjects:@"sdfg", @"gfg", @"fsf", nil];

NSArray *arr1 = [NSArray arrayWithArray:arr];

NSArray *arr2 = [[NSArray alloc] initWithArray:arr1];

// 初始化一个元素

NSArray *arr3 = [NSArray arrayWithObject:@"123"];

NSArray *array3 = [NSArray arrayWithObjects:@"aa", @"bb", @"cc", nil];

NSLog(@"%@", array3);

NSArray *array4 = [NSArray arrayWithArray:array1];

NSLog(@"%@", array4);

// 3). 字面量(用于不可变得量)

NSArray *array6 = @[@"1", @"2", @"3"];

// 2. 获取数组元素个数

NSLog(@"%lu", array.count);

// 3. 获取数组中的元素

// 1). 给定位置获取元素

NSLog(@"%@", [array objectAtIndex:2]);

//6 NSLog(@"%@", [array objectAtIndexedSubscript:2]);

// 2). 第一个元素

NSLog(@"%@", array.firstObject);

// 3). 最后一个元素

NSLog(@"%@", [array lastObject]);

// 4. 根据元素获取元素所在数组中对应的索引(下标)

NSLog(@"%ld", [array indexOfObject:@"ccc"]);

// 5. 判断数组中是否包含某一个给定对象

NSLog(@"%d", [array containsObject:@"aaa"]);

// 6. NSArray与NSString的转换方法

// NSString->NSArray

NSString *string1 = @"";

NSArray *array5 = [string1 componentsSeparatedByString:@"."];

NSLog(@"%@", array5);

// NSArray -> NSString

NSString *string2 = [array5 componentsJoinedByString:@"."];

NSLog(@"%@", string2);

NSString *str4 = @"我喜欢你";

NSArray *arr4 = [str4 componentsSeparatedByString:@""];

NSLog(@"%@", arr4);

NSString *str5 = [arr4 componentsJoinedByString:@""];

NSLog(@"%@", str5);

#endif

// 可变字符数组

// 1. 初始化方法

NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:@"abc", @"def", nil];

NSLog(@"%@", array);

NSMutableArray *array1 = [[NSMutableArray alloc] initWithArray:array];

NSLog(@"%@", array1);

// 2.便利构造器

NSMutableArray *array2 = [NSMutableArray arrayWithObjects:@"123", @"456", nil];

NSMutableArray *array3 = [NSMutableArray arrayWithArray:array2];

NSLog(@"%@", array3);

// 与父类相同初始化

// 4.添加元素

[array2 addObject:@"789"];// 直接添加一个元素

NSLog(@"%@", array2);

[array1 addObjectsFromArray:array1];// 添加数组

NSLog(@"%@", array1);

// 5.删除元素

[array removeObject:@"abc"];// 删除指定元素

NSLog(@"%@", array);

[array removeAllObjects];// 删除所有元素

NSLog(@"%@", array);

// 6. 插入元素

NSLog(@"%@", array1);

[array1 insertObject:@"bnm" atIndex:1];

NSLog(@"%@", array1);

// 7. 交换指定位置的两个元素

[array2 exchangeObjectAtIndex:0 withObjectAtIndex:2];

NSLog(@"%@", array2);

// 8.替换元素

[array3 replaceObjectAtIndex:1 withObject:@"333"];

NSLog(@"%@", array3);

// 练习题

#if 1

Person *p1 = [[Person alloc] initWithName:@"1" withAge:10];

Person *p2 = [[Person alloc] initWithName:@"2" withAge:11];

Person *p3 = [[Person alloc] initWithName:@"3" withAge:12];

// 创建小组

// 创建空数组

//NSMutableArray *group = [NSMutableArray array];

NSMutableArray *group = [NSMutableArray arrayWithObjects:p1, p2, p3, nil];

// 添加一个成员

Person *p4 = [[Person alloc] initWithName:@"4" withAge:19];

[group addObject:p4];

NSLog(@"%@", group);

//

// [group removeObject:p1];

// [group removeObject:p2];

NSLog(@"%@", group);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。