OC-数组

本文详细介绍了NSArray的基本操作,包括查找元素及其位置、遍历数组、以及增删改等常见操作方法。通过实例演示了如何使用Objective-C进行数组操作,适合初学者和需要复习NSArray用法的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、查找:

数组中某个元素时候存在:

NSArray *array  =@[@"111",@"abc",@"sss",@"222",@"111"];
if ([array containsObject:@"abc"]) {
    NSLog(@"[array containsObject:abc]");
}

数组中某个元素的存储位置:

SString *str = @"111";
NSUInteger itemIndex = [array indexOfObject:str];
if (itemIndex == NSNotFound) {
    NSLog(@"%@ index is NSNotFound",str);
} else {
    NSLog(@"%@ index is %lu",str,itemIndex);
}

2、遍历:

NSArray *array  =@[@"111",@"222",@"333"];
//常规方式:
for (int i = 0; i < array.count; i++) {
    NSLog(@"for:%@",array[i]);
}
for (NSString *item in array) {
    NSLog(@"forin:%@",item);
}

特殊方法:

[array enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
    NSLog(@"index:%lu,object:%@",idx,obj);
}];
[array enumerateObjectsWithOptions:NSEnumerationConcurrent usingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
    NSLog(@"index:%lu,object:%@",idx,obj);
}];
/*
typedef NS_OPTIONS(NSUInteger, NSEnumerationOptions) {
    NSEnumerationConcurrent = (1UL << 0),//并发
    NSEnumerationReverse = (1UL << 1),//逆序
};
*/

3、增、删、改:

NSMutableArray *array = [[NSMutableArray alloc] init];
//数组添加
[array addObject:@"111"];//@[@"111"]
[array insertObject:@"ddd" atIndex:0];//@[@"ddd",@"111"]
[array addObjectsFromArray:@[@"222",@"bbb"]];//@[@"ddd",@"111",@"222",@"bbb"]
//数组修改
[array exchangeObjectAtIndex:0 withObjectAtIndex:1];//@[@"111",@"ddd",@"222",@"bbb"]
[array replaceObjectAtIndex:2 withObject:@"ccc"];//@[@"111",@"ddd",@"ccc",@"bbb"]
//数组删除
[array removeObject:@"ddd"];//@[@"111",@"ccc",@"bbb"]
[array removeLastObject];//@[@"111",@"ccc"]
[array removeObjectAtIndex:0];//@[@"ccc"]
[array removeObjectsInArray:@[@"ccc"]];//@[]
[array removeAllObjects];//@[]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值