{

//    数组  (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的一些使用方法相关推荐

  1. NSArray打印汉字的方法

    (1) NSArray打印汉字 通过重载NSArray的- (NSString *)descriptionWithLocale:(id)locale方法 方法体例如以下: //依据设置的locale ...

  2. IOS之NSArray 中调用的方法详解(1)

    下面的例子以      NSArray *array = [NSArray arrayWithObjects:@"wendy",@"andy",@"t ...

  3. IOS之NSArray 中调用的方法详解(2)

    20.   - (NSArray *)sortedArrayUsingSelector:(SEL)comparator; 这是用来排序的函数,comparator 这个参数,需要传入一个返回结果是NS ...

  4. IOS之NSArray 中调用的方法详解

    下面的例子以      NSArray *array = [NSArray arrayWithObjects:@"wendy",@"andy",@"t ...

  5. 【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词

    一. 字符串 API 1. NSString 用法简介 (1) NSString API 介绍 NSString 功能 : -- 创建字符串 : 使用 init 开头的实例方法, 也可以使用 Stri ...

  6. iOS 深入解析之NSArray

    @interface NSArray<__covariant ObjectType> : NSObject <NSCopying, NSMutableCopying, NSSecur ...

  7. UIView常见方法总结

    一.随机生成数 1. arc4random() 会生成任意正整数和0 2. arc4random_uniform(100) 会生成0~99的整数 (包括0和99) 二.UIView常见方法 1. ad ...

  8. c语言OBJECT数组,Objective-C中NSArray的基本用法示例

    NSArray的排序 + (id)studentWithFirstName:(NSString *)firstName lastName:(NSString *)lastName{ Student * ...

  9. 黑马程序员--Foundation框架之--NSArray类以及它的子类NSMutableArray类

    ------IOS培训期待与您交流! ------- 今天我们继续来看一下Foundation框架中的NSArray类和 NSMutableArray类,NSArray类 是不可变的,NSMutabl ...

最新文章

  1. 【深度学习入门到精通系列】Python批量实现图像镜像翻转
  2. 虚拟机上的ubuntu安装vmware tools
  3. 采用web技术开发PC应用
  4. python学习环境+开发环境的选择和配置
  5. 基于REACT和.NET CORE集成WINDOWS身份验证
  6. C#的多线程机制探索3
  7. python-面向对向-静态方法的继承-父类中的super方法
  8. mac用python爬虫下载图片_利用Python爬虫采集mac电脑皮肤|简明python教程|python入门|python教程...
  9. 使用OTDR进行双向光纤测试
  10. Asp.NET Core+ABP框架+IdentityServer4+MySQL+Ext JS之文件上传
  11. 如何解决高分辨率下文本、图像和字体和布局?
  12. 【算法学习笔记】4:贪心法,回溯法,分支限界法,解空间树剪枝
  13. 全国短信息中心号码一览
  14. 【python】OpenCV—Blur, Threshold, Gradient, Morphology(2)
  15. IP地址管理常见功能解析
  16. Microsoft edge 小游戏及作弊方法
  17. USB摄像头测试网址
  18. matlab:数组定义
  19. ESP8266-01S使用教程
  20. Go之Benchmark

热门文章

  1. zygomys——golang实现lisp语言
  2. 怎么玩ChatGPT?解锁玩ChatGPT玩法
  3. Hrm-人力资源系统开发笔记03
  4. Hcie、Hcia、Hcip 三者之间的区别在哪里?
  5. 一张图搞定CSS选择器的优先级
  6. 栈和队列---最大值减去最小值小于或等于num的子数组数量
  7. 写一个批量制作散点图并导出的matlab程序
  8. amd linux 性能,Intel“真爱”AMD 自家Linux神优化Zen3:性能高出15%
  9. 杰奇cms章节分页怎么实现(主要针对2.4版本)
  10. 【浮*光】 #noip模拟# 2018.08.22