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

相关文章

hdu2241(二分+合并数组)

题意:判断是否存在a+b+c = x,a,b,c分别属于集合A,B,C 如果用暴力会超时,所以这里用到了数组合并,将b,c数组合并成d,d数组存的是b,c数组元素的和,然后对d数组进行二分就可以了 代码如下(附注释): #include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<que

hdu 1166 敌兵布阵(树状数组 or 线段树)

题意是求一个线段的和,在线段上可以进行加减的修改。 树状数组的模板题。 代码: #include <stdio.h>#include <string.h>const int maxn = 50000 + 1;int c[maxn];int n;int lowbit(int x){return x & -x;}void add(int x, int num){while

cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个?

跨平台系列 cross-plateform 跨平台应用程序-01-概览 cross-plateform 跨平台应用程序-02-有哪些主流技术栈? cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个? cross-plateform 跨平台应用程序-04-React Native 介绍 cross-plateform 跨平台应用程序-05-Flutte

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF

数据治理框架-ISO数据治理标准

引言 "数据治理"并不是一个新的概念,国内外有很多组织专注于数据治理理论和实践的研究。目前国际上,主要的数据治理框架有ISO数据治理标准、GDI数据治理框架、DAMA数据治理管理框架等。 ISO数据治理标准 改标准阐述了数据治理的标准、基本原则和数据治理模型,是一套完整的数据治理方法论。 ISO/IEC 38505标准的数据治理方法论的核心内容如下: 数据治理的目标:促进组织高效、合理地

C语言:柔性数组

数组定义 柔性数组 err int arr[0] = {0}; // ERROR 柔性数组 // 常见struct Test{int len;char arr[1024];} // 柔性数组struct Test{int len;char arr[0];}struct Test *t;t = malloc(sizeof(Test) + 11);strcpy(t->arr,

ZooKeeper 中的 Curator 框架解析

Apache ZooKeeper 是一个为分布式应用提供一致性服务的软件。它提供了诸如配置管理、分布式同步、组服务等功能。在使用 ZooKeeper 时,Curator 是一个非常流行的客户端库,它简化了 ZooKeeper 的使用,提供了高级的抽象和丰富的工具。本文将详细介绍 Curator 框架,包括它的设计哲学、核心组件以及如何使用 Curator 来简化 ZooKeeper 的操作。 1

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

C 语言基础之数组

文章目录 什么是数组数组变量的声明多维数组 什么是数组 数组,顾名思义,就是一组数。 假如班上有 30 个同学,让你编程统计每个人的分数,求最高分、最低分、平均分等。如果不知道数组,你只能这样写代码: int ZhangSan_score = 95;int LiSi_score = 90;......int LiuDong_score = 100;int Zhou

Spring Framework系统框架

序号表示的是学习顺序 IoC(控制反转)/DI(依赖注入): ioc:思想上是控制反转,spring提供了一个容器,称为IOC容器,用它来充当IOC思想中的外部。 我的理解就是spring把这些对象集中管理,放在容器中,这个容器就叫Ioc这些对象统称为Bean 用对象的时候不用new,直接外部提供(bean) 当外部的对象有关系的时候,IOC给它俩绑好(DI) DI和IO