NSMutableArray (可变数组增、删、改、查)
来源:互联网 发布:淘宝库存软件 编辑:程序博客网 时间:2024/06/10 00:11
//1.1 初始化 NSMutableArray *muArray = [NSMutableArray arrayWithObjects:@"123",@"345",@"2354", nil]; NSMutableArray *mutAry = [NSMutableArray array]; //从其它数组中添加元素 [mutAry addObjectsFromArray:muArray]; //1.2 初始化划好几个元素容量的内存空间,当不超过元素个数时不需要重新请求内存,实际用得较少 NSMutableArray *mutableAry = [[NSMutableArray alloc]initWithCapacity:4]; [mutableAry addObject:@"1"]; [mutableAry addObject:@"2"]; [mutableAry addObject:@"3"]; [mutableAry addObject:@"4"]; [mutableAry addObject:@"1"]; [mutableAry addObject:@"5"]; [mutableAry addObject:@"6"]; //=======增 [muArray insertObject:@"456" atIndex:2]; [muArray addObject:@"d"]; NSLog(@"%@",muArray); //=======删 [muArray removeObject:@"123"]; //删除所有// [muArray removeAllObjects]; //删除数组最后一个元素 [muArray removeLastObject]; //删除指定范围的@"1"值 NSRange range = {2,5}; // [mutableAry removeObject:@"1" inRange:range]; //1234156 --> 123456 // [muarray removeObjectAtIndex:4]; NSLog(@"%@",muArray); //删除相同元素 及 删除指定范围内相同元素// [mutableAry removeObject:@"1"];// [mutableAry removeObjectIdenticalTo:@"1"];// [mutableAry removeObjectIdenticalTo:<#(nonnull id)#> inRange:<#(NSRange)#>] //根据另一数组元素找出所对应的删除// [mutableAry removeObjectsInArray:@[@"1",@"4",@"6"]]; //========改// [muArray replaceObjectAtIndex:3 withObject:@"23"]; NSLog(@"%@",muArray); //========查 NSString *str = [muArray objectAtIndex:2]; NSLog(@"%@",muArray[1]); NSLog(@"%@",str); //数组中加入Number [muArray addObject:[NSNumber numberWithInt:3]]; int i = [[muArray lastObject] intValue]; [muArray addObject:[NSNumber numberWithFloat:2]]; float y = [[muArray lastObject] floatValue]; //元素调换位置 123456 3和5调换==》125436 [mutableAry exchangeObjectAtIndex:2 withObjectAtIndex:4];
数组写入本地文件保存
//- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile; //数组写入文件保存 //从文件转成数组 生成本地一个data.txt文件拖到工程 //沙盒根目录路径 NSString *doucumonPath = [NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSString *fileName = @"data.plist"; //data.txt //根目录下新创建文件夹路径 NSString *folderPath = [doucumonPath stringByAppendingPathComponent:@"myFolder"]; //完整文件路径 NSString *path = [folderPath stringByAppendingPathComponent:fileName]; //创建文件管理器 NSFileManager *file=[NSFileManager defaultManager]; if (![file fileExistsAtPath:folderPath]) { [[NSFileManager defaultManager] createDirectoryAtPath:folderPath withIntermediateDirectories:YES attributes:nil error:nil]; } BOOL b = [mutableAry writeToFile:path atomically:YES]; //获取文件数组 //项目路径读取 NSString *filePath = [[NSBundle mainBundle] pathForResource:@"data" ofType:@"txt"]; //沙盒路径读取 NSMutableArray *fileAry = [NSMutableArray arrayWithContentsOfFile:path]; //==================================================
</pre></p><p style="margin-top: 0px; margin-bottom: 0px; font-size: 13.5px; line-height: normal; font-family: Menlo; color: rgb(0, 175, 202);">arrayWithContentsOfURL</p><pre name="code" class="objc">//从URL转为数组 //URL可以是 http://xxx.plist http://.xxx.xml http://.xxx.txt 等下载地址 NSURL *url = [NSURL fileURLWithPath:path]; //本地URL:file:///var/mobile/Containers/Data/Application/6856FD5B-C8F1-4282-8DF3-D49B97355680/Library/Documentation/myFolder/data.xml BOOL bb = [mutableAry writeToURL:url atomically:YES]; NSMutableArray *urlAry = [NSMutableArray arrayWithContentsOfURL:url];
//把非对象类型存入数组
想把一些view
因为CGRect,CGPoint等不是NSObject的子类,因此不能够直接添加到NSMutableArray中,所以要先将其转换成NSObject的子类。NSValue类可以解决这个问题,见NSValue类的声明:
如下,可以将CGRect,CGPoint等的数值转换成NSValue类的数值。
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"lockButton.png"]];
imageView.frame = CGRectMake(10 * (l + 1) + imageView.frame.size.width * l, 120 + 50 * r, imageView.frame.size.width, imageView.frame.size.height);
[self.lockImageRectArray addObject:[NSValue valueWithCGRect:imageView.frame]];
[self addSubview:imageView];
通过下面的代码,又可以将NSValue转换成CGRect,CGPoint等类型的数值。
CGRect imageRect = [[self.lockImageRectArray objectAtIndex:l] CGRectValue];
通过NSValue就可以实现CGxxx类型的数值存储在NSMutable,NSDictionary类型的数组中。
- NSMutableArray (可变数组增、删、改、查)
- 可变数组NSMutableArray
- NSMutableArray--可变数组
- NSMutableArray--可变数组
- NSMutableArray(可变数组)
- 可变数组NSMutableArray详解
- OC--NSMutableArray可变数组
- NSMutableArray 可变数组-Objective-C
- OC-044.可变数组NSMutableArray
- 数组进行增、删、查、改
- 数组的 增 删 改 查
- 数组的增、删、改、查
- 数组操作--增、删、改、查
- 删除可变数组NSMutableArray中的重复数据
- 删除可变数组NSMutableArray中的重复数据
- 删除可变数组NSMutableArray中的重复数据
- 可变数组NSMutableArray声明时的问题
- 固定数组NSArray 和 可变NSMutableArray
- ProgressDialog(对话框)
- 由中根序列和后根序列重建二叉树
- 学习网站
- Android中如何开启悬浮窗的硬件加速绘制功能?
- iPhone兴起零基础菜鸟怎样自学iOS开发
- NSMutableArray (可变数组增、删、改、查)
- Cocos开发中性能优化工具介绍之Visual Studio内存泄漏检测工具Visual Leak Detector
- Volley源码解析(二):RequestQueue
- android studio从布局文件中提取style
- Data Vault初探(二) —— 构建及参考原则
- php字符串编码的转换
- Unity根据相机截屏
- userAgent,JS用户代理检测——判断浏览器内核、浏览器、浏览器平台、windows操作系统版本、移动设备、游戏系统
- ZZULIOJ 1801 xue姐的小动物