NSArray的一些使用方法
{
// 数组 (NSArray)
// 系统提供的数组类 -- 类似于c语言中的数组
// oc中得数组是一个大容器,数组可以存放不同类型的对象,且只能保存对象
// OC数组提供了两类数组 NSArray (不可变数组)NSMutablearray(可变数组)
// 可变与不可变区别:可变就意味着对原有的对象进行增删改操作, 不可变就意味着数组一经创建就不能修改
// 1.创建对象
// 1)创建初始化方法
NSArray *array = [[NSArray alloc] initWithObjects:@"a", @"b", @"c", nil];
NSLog(@"%@", array);
NSArray *array2 = [[NSArray alloc] initWithArray:array];
NSLog(@"%@", array2);
// 2)便利构造器
//初始化多个元素object‘s’。
NSArray *array1 = [NSArray arrayWithObjects:@"q", @"w", @"e", @"r", @"w", nil];
NSLog(@"%@", array1);
NSArray *array3 = [NSArray arrayWithArray:array1];
NSLog(@"%@", array3);
// 3)字面量
NSArray *array4 = @[@"1", @"2", @"3"];
NSLog(@"%@", array4);
// 2.获取数组元素的个数
NSLog(@"%lu", array1.count);
// 3.获取数组中元素
// 1)给定位置获取元素
NSLog(@"%@", [array1 objectAtIndex:0]);
// 2)第一个元素
NSLog(@"%@", [array1 firstObject]);
// 3)最后一个元素
NSLog(@"%@", [array1 lastObject]);
// 4.根据元素获取元素在数组中对应的索引(下标)
//在未找到的情况下返回随机的一个数
NSLog(@"%ld", [array1 indexOfObject:@"w"]);
// 5.判断数组中是否包含某一个人给定的对象
// NSLog(@"%d", [array1 containsObject:@"q"]);
if ([array1 containsObject:@"w"]) {
NSLog(@"存在");
} else {
NSLog(@"不存在");
}
// 6.NSArray 与 NSString 的相互转换方法
// NSArray -> NSString
NSArray *arr = @[@"男哥最衰", @"真的很衰", @"还有谁"];
NSString *str = [arr componentsJoinedByString:@","];
NSLog(@"%@", str);
// NSString -> NSArray
NSLog(@"%@", [str componentsSeparatedByString:@"$"]);
// 可变数组
// 1.初始化方法
NSMutableArray *mutableArray = [[NSMutableArray alloc] initWithObjects:@"d", @"f", @"f", nil];
NSLog(@"%@", mutableArray);
// 2.便利构造器
//与父类初始化方法相同
NSMutableArray *mutableArray1 = [NSMutableArray arrayWithObjects:@"1", nil];
// 4。添加元素
[mutableArray1 addObject:@"2"];
NSLog(@"%@", mutableArray1);
//通过数组添加
[mutableArray1 addObjectsFromArray:array1];
NSLog(@"%@", mutableArray1);
// 5.删除元素
// 1)删除单个元素
[mutableArray1 removeObject:@"w"];//只要有匹配的对象就删除掉
NSLog(@"%@", mutableArray1);
// 2)删除所有元素
// [mutableArray1 removeAllObjects];
// 6.插入元素
[mutableArray1 insertObject:@"w" atIndex:2];
NSLog(@"%@", mutableArray1);
// mutableArray1 insertObjects:<#(nonnull NSArray *)#> atIndexes:<#(nonnull NSIndexSet *)#>
// 7。交换指定位置两个元素
[mutableArray1 exchangeObjectAtIndex:1 withObjectAtIndex:3];
NSLog(@"%@", mutableArray1);
// 8.替换元素
[mutableArray1 replaceObjectAtIndex:0 withObject:@"www"];
NSLog(@"%@", mutableArray1);
return 0;
}
NSArray的一些使用方法相关推荐
- NSArray打印汉字的方法
(1) NSArray打印汉字 通过重载NSArray的- (NSString *)descriptionWithLocale:(id)locale方法 方法体例如以下: //依据设置的locale ...
- IOS之NSArray 中调用的方法详解(1)
下面的例子以 NSArray *array = [NSArray arrayWithObjects:@"wendy",@"andy",@"t ...
- IOS之NSArray 中调用的方法详解(2)
20. - (NSArray *)sortedArrayUsingSelector:(SEL)comparator; 这是用来排序的函数,comparator 这个参数,需要传入一个返回结果是NS ...
- IOS之NSArray 中调用的方法详解
下面的例子以 NSArray *array = [NSArray arrayWithObjects:@"wendy",@"andy",@"t ...
- 【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词
一. 字符串 API 1. NSString 用法简介 (1) NSString API 介绍 NSString 功能 : -- 创建字符串 : 使用 init 开头的实例方法, 也可以使用 Stri ...
- iOS 深入解析之NSArray
@interface NSArray<__covariant ObjectType> : NSObject <NSCopying, NSMutableCopying, NSSecur ...
- UIView常见方法总结
一.随机生成数 1. arc4random() 会生成任意正整数和0 2. arc4random_uniform(100) 会生成0~99的整数 (包括0和99) 二.UIView常见方法 1. ad ...
- c语言OBJECT数组,Objective-C中NSArray的基本用法示例
NSArray的排序 + (id)studentWithFirstName:(NSString *)firstName lastName:(NSString *)lastName{ Student * ...
- 黑马程序员--Foundation框架之--NSArray类以及它的子类NSMutableArray类
------IOS培训期待与您交流! ------- 今天我们继续来看一下Foundation框架中的NSArray类和 NSMutableArray类,NSArray类 是不可变的,NSMutabl ...
最新文章
- 【深度学习入门到精通系列】Python批量实现图像镜像翻转
- 虚拟机上的ubuntu安装vmware tools
- 采用web技术开发PC应用
- python学习环境+开发环境的选择和配置
- 基于REACT和.NET CORE集成WINDOWS身份验证
- C#的多线程机制探索3
- python-面向对向-静态方法的继承-父类中的super方法
- mac用python爬虫下载图片_利用Python爬虫采集mac电脑皮肤|简明python教程|python入门|python教程...
- 使用OTDR进行双向光纤测试
- Asp.NET Core+ABP框架+IdentityServer4+MySQL+Ext JS之文件上传
- 如何解决高分辨率下文本、图像和字体和布局?
- 【算法学习笔记】4:贪心法,回溯法,分支限界法,解空间树剪枝
- 全国短信息中心号码一览
- 【python】OpenCV—Blur, Threshold, Gradient, Morphology(2)
- IP地址管理常见功能解析
- Microsoft edge 小游戏及作弊方法
- USB摄像头测试网址
- matlab:数组定义
- ESP8266-01S使用教程
- Go之Benchmark
热门文章
- zygomys——golang实现lisp语言
- 怎么玩ChatGPT?解锁玩ChatGPT玩法
- Hrm-人力资源系统开发笔记03
- Hcie、Hcia、Hcip 三者之间的区别在哪里?
- 一张图搞定CSS选择器的优先级
- 栈和队列---最大值减去最小值小于或等于num的子数组数量
- 写一个批量制作散点图并导出的matlab程序
- amd linux 性能,Intel“真爱”AMD 自家Linux神优化Zen3:性能高出15%
- 杰奇cms章节分页怎么实现(主要针对2.4版本)
- 【浮*光】 #noip模拟# 2018.08.22