//创建数组简写方式 一般用这种
NSArray *array = @[@"xc",@"lxc",@"cc"];
//创建数组的非简写方式
NSArray *array1 = [NSArray arrayWithObjects:@"11",@"22",@"33", nil];
//获取数组的对应的元素
NSLog(@"array = %@",[array objectAtIndex:0]);
//获取数组的第一个元素
NSLog(@"array1 = %@",[array1 firstObject]);
//简写获取数组的对应的元素
NSLog(@"array = %@",array1[2]);
//判断数组中包含某个元素
if ([array containsObject:@"xc"]) {
NSLog(@"包含xx");
}else{
NSLog(@"不包含xx");
}
NSArray *array = @[@"xc",@"lxc",@"cc"];
//OC遍历数组:逐个取出a中的元素,将取出的元素赋值给arr
//a 的类型可以根据数组中元素的类型来写,不一定要写NSObject
for (NSObject * a in array) {
NSLog(@"a = %@",a);
}
// for (NSString *b in array) {
// NSLog(@"b = %@",b);
// }
//使用OC数组的迭代器来遍历
//每取出一个元素就会调用一次block,每次调用block都会将当前取出的元素和元素对应的索引传递出来,obj = 取出的元素,idx = 当前元素对应的索引 , stop 用来控制什么时候停止遍历
[array enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
if (idx ==2) {
*stop = YES;
}
NSLog(@"obj = %@, idx = %lu",obj,idx);
}];
Person *p1 = [Person new];
Person *p2 = [Person new];
Person *p3 = [Person new];
NSArray *arrP = @[p1,p2,p3];
//如果使用OC数组储存对象,可以调用OC数组的方法让数组中所有的元素都执行指定的方法
[arrP makeObjectsPerformSelector:@selector(sayWithName:) withObject:@"xc"];
NSArray *arr = @[@2,@5,@9,@3];
//如果想使用compare方法对数组中的元素进行排序,那么数组中的元素必须是Foundation框架中的对象,不能自定义对象进行排序
NSArray *newArr = [arr sortedArrayUsingSelector:@selector(compare:)];
NSLog(@"newArr = %@",newArr);
Person *p = [Person new];
Person *p1 = [Person new];
Person *p2 = [Person new];
Person *p3 = [Person new];
p.age = 10;
p1.age = 23;
p2.age = 9;
p3.age = 3;
//不能使用compare方法自定义对象进行排序
NSArray *arrP = @[p,p1,p2,p3];
//该方法默认会按照升序排序
NSArray *newArrP = [arrP sortedArrayWithOptions:NSSortStable usingComparator:^NSComparisonResult(Person* obj1, Person* obj2) {
//每次调用block都会取出数组中的两个元素
return obj1.age > obj2.age; //>大于按照升序排列 <小于按照降序排列
}];
NSLog(@"%@",newArrP);
//通过一个字符串生成一个数组
NSString * name = @"xc-cyf-xxx";
NSArray * arr = [name componentsSeparatedByString:@"-"];
NSLog(@"%@",arr);
//在名字后面加上--最后一个名字不带--
NSArray *nameArr = @[@"xc",@"yf",@"cc"];
NSMutableString *name = [NSMutableString new];
for (NSString *append in nameArr) {
[name appendString:append];
[name appendString:@"--"];
}
[name deleteCharactersInRange:NSMakeRange(name.length-2, 2)];
NSLog(@"%@",name);
NSArray
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 项目过程中,想到这几个概念的区别有些模糊,于是纵观各种资料,来篇博文为自己记录下,也为小伙伴们说说我的理解。 [c...
- 有很多种方式都可以实现,但目前最简洁的方式一定是使用 [NSPredicate predicateWithBloc...