Foundation框架—数组 NSArray -NSMutableArray

2024-03-24 21:08

本文主要是介绍Foundation框架—数组 NSArray -NSMutableArray,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Foundation 框架初体验
_______________ NSArray 不可变数组 _______________

//不可变数组 OC的数组可以存储不同类型的对象 只能存储对象

//顺序的存储结构 可以遍历 每个元素占的内存空间是连续的

//注意点: 实例化的时候必须让对象进行赋值 因为它是不可变数组

//实例化 用逗号隔开
NSArray * array =[[NSArray alloc]initWithObjects:@”1”, @”2”, @”3”, @”4”, nil];

//数组长度
int count = (int)array.count;

//判断数组中是否有某个对象
BOOL isHave =[array containsObject:@”2”];
if(isHave){
NSLog(@”存在”);
}
else{
NSLog(@”不存在”);
}

//取出数组中 第一个元素
NSString *str = [array firstObject];
//取得数组中 最后一个元素
NSString *str2 = [array lastObject];
//取出数组中 下标为3的元素
NSString *str3 = [array objectAtIndex:3]; //0 ,1 ,2 ,3 取值为4
//打印元素对应的下标(如果元素不存在 则打印 -1 )
int index =(int)[array indexOfObject:@”3”]; //0,1,2(数值为3)下标为2

//数组的遍历(遍历:查看数组中的每一个元素)

//遍历的常用的两种方法:1.基本的for循环通过下标逐一取出查看 2. for in 快速枚举

//方法 1. for循环
for(int i = 0; i < array.count ;i++)
{
//取出数组中 下标为i的字符串 从0开始
NSString *str1 =[array objectAtIndex:i];

}

//方法 2. 快速枚举 for in (需要让数组中的元素类型保持一致,不一致会崩溃)
//在数组中 查找所有的字符串 每循环一次 找到一个 有序的(按照下标逐渐递增的,按照数组的首个元素,到末尾元素排布)

for(NSString *str in array) {

NSLog(@"str = %@",str);

}

_______________ NSMutableArray 可变数组 _______________

// 实例化的时候不需要让对象进行赋值 因为它是可变数组

NSMutableArray *array = [[NSMutableArray alloc]init];

//添加元素
[array addObject:p1];
//添加数组(会自动加入数组中的元素)
[array addObjectsFromArray:personArray];

//删除元素
//删除数组内 所有的元素
[array removeAllObjects];
//删除数组内 指定的元素
[array removeObject:p1];
//删除数组内 最后一个元素
[array removeLastObject];
//删除指定下标的元素
[array removeObjectAtIndex:2];//删除下标为2 第三个元素
//交换数组内元素的位置
[ array exchangeObjectAtIndex:0 withObjectAtIndex:1]; //将第一个和第二个元素交换

这篇关于Foundation框架—数组 NSArray -NSMutableArray的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/842803

相关文章

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

关于集合与数组转换实现方法

《关于集合与数组转换实现方法》:本文主要介绍关于集合与数组转换实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、Arrays.asList()1.1、方法作用1.2、内部实现1.3、修改元素的影响1.4、注意事项2、list.toArray()2.1、方

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

MySQL JSON 查询中的对象与数组技巧及查询示例

《MySQLJSON查询中的对象与数组技巧及查询示例》MySQL中JSON对象和JSON数组查询的详细介绍及带有WHERE条件的查询示例,本文给大家介绍的非常详细,mysqljson查询示例相关知... 目录jsON 对象查询1. JSON_CONTAINS2. JSON_EXTRACT3. JSON_TA

C++ HTTP框架推荐(特点及优势)

《C++HTTP框架推荐(特点及优势)》:本文主要介绍C++HTTP框架推荐的相关资料,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Crow2. Drogon3. Pistache4. cpp-httplib5. Beast (Boos

JAVA数组中五种常见排序方法整理汇总

《JAVA数组中五种常见排序方法整理汇总》本文给大家分享五种常用的Java数组排序方法整理,每种方法结合示例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录前言:法一:Arrays.sort()法二:冒泡排序法三:选择排序法四:反转排序法五:直接插入排序前言:几种常用的Java数组排序

SpringBoot基础框架详解

《SpringBoot基础框架详解》SpringBoot开发目的是为了简化Spring应用的创建、运行、调试和部署等,使用SpringBoot可以不用或者只需要很少的Spring配置就可以让企业项目快... 目录SpringBoot基础 – 框架介绍1.SpringBoot介绍1.1 概述1.2 核心功能2

Spring框架中@Lazy延迟加载原理和使用详解

《Spring框架中@Lazy延迟加载原理和使用详解》:本文主要介绍Spring框架中@Lazy延迟加载原理和使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、@Lazy延迟加载原理1.延迟加载原理1.1 @Lazy三种配置方法1.2 @Component

Java数组初始化的五种方式

《Java数组初始化的五种方式》数组是Java中最基础且常用的数据结构之一,其初始化方式多样且各具特点,本文详细讲解Java数组初始化的五种方式,分析其适用场景、优劣势对比及注意事项,帮助避免常见陷阱... 目录1. 静态初始化:简洁但固定代码示例核心特点适用场景注意事项2. 动态初始化:灵活但需手动管理代