OC学习----可变数组与不可变数组

避坑指南:RK3588视频编码与SRT推流实战中,我遇到的5个典型问题及解决方案 本文深度解析RK3588平台视频编码与SRT推流实战中的五个典型问题,包括MIPI摄像头内存对齐、多线程数据传递、FFmpeg时间戳设置、SRT连接参数调优及系统资源监控。提供具体解决方案和优化技巧,帮助开发者高效实现实时视频网络传输。 阅读详情

NSArray / NSMutableArray

在OC中,我们用 NSArray 类和 NSMutableArray 类来表示数组.其中, NSArray 类是 NSMutableArray 类的父类.在OC中,我们的数组是有序的 对象 的集合,即我们的数组只能存储 对象.在OC中我们的数组中元素类型不能是 int,float,CGPoint等类型.

NSArray(不可变数组)

1.初始化方法

    //创建一个空不不可变的数组
    NSArray *ary1 = [[NSArray alloc] init];
    NSArray *ary2 = [NSArray array];
    //创建一个里面只有一个元素的不可变数组
    NSArray *ary3 = [NSArray arrayWithObject:@"abcdefg"];
    //创建一个里面有多个元素的不可变数组
    NSArray *ary4 = [NSArray arrayWithObjects:@"aa",@"bb",@"cc",@"dd",nil];
    //新语法
    NSArray *ary5 = @[@"abcdefg"];//与3等价
    NSArray *ary6 = @[@"aa",@"bb",@"cc",@"dd"];//与4等价
    NSArray *ary7 = [NSArray arrayWithArray:ary2];
    //从本地文件中读取数组
    NSArray *ary8 = [NSArray arrayWithContentsOfFile:@""];
    //从网络文件中读取数组
    NSArray *ary9 = [NSArray arrayWithContentsOfURL:[NSURL URLWithString:@""]];

2.数组元素个数

    NSUInteger count = ary6.count;

3.访问数组元素

    //访问ary6中的第一个元素
    NSString *str = [ary6 objectAtIndex:0];
    for (int i = 0; i < ary6.count; i++) {
        NSLog(@"数组中第%d个元素为:%@",i,[ary6 objectAtIndex:i]);
    }

4.通过数组中的元素找对应的下标

    NSUInteger index = [ary6 indexOfObject:@"aa"];
    NSLog(@"index = %lu",(unsigned long)index);

5.判断数组中是否存在某上元素

    BOOL flag = [ary6 containsObject:@"bb"];

6.向不可变数组中增加一个元素,生成一个新的数组

    NSArray *newAry = [ary6 arrayByAddingObject:@"ee"];
    NSArray *newAry1 = [ary6 arrayByAddingObjectsFromArray:ary6];
    NSString *string = [newAry componentsJoinedByString:@","];
    NSArray *array = @[@"123",@"456",@"789",@"000"];
    NSString *string1 = [array componentsJoinedByString:@"-"];
    NSLog(@"%@",string1);

    NSArray *array1 = [string1 componentsSeparatedByString:@"-"];
    NSLog(@"array = %@",array1);

    NSString *string2 = [array1 componentsJoinedByString:@""];
    NSLog(@"%@",string2);
NSMutableArray(可变数组)
`NSMutableArray` 为 `NSArray` 的子类.

1.初始化方法

    //初始化一个空的可变数组
    NSMutableArray *mArray1 = [NSMutableArray array];
    NSMutableArray *mArray2 = [NSMutableArray arrayWithObject:@"1"];
    NSMutableArray *mArray3 = [NSMutableArray arrayWithObjects:@"1",@"2",@"3",@"4", nil];
    NSMutableArray *mArray4 = [NSMutableArray arrayWithArray:mArray2];
    //可变数组独有的初始化方法
    NSMutableArray *mArray5 = [NSMutableArray arrayWithCapacity:10];

    NSMutableArray *mArray6 = [NSMutableArray arrayWithContentsOfFile:@""];
    NSMutableArray *mArray7 = [NSMutableArray arrayWithContentsOfURL:@""];

2.增加元素

    //在数组的末尾增加一个元素
    [mArray3 addObject:@"5"];
    //在数组的指定位置增加一个元素
    [mArray3 insertObject:@"yanshuxin" atIndex:3];

3.元素替换

    //将数组指定位置上的元素替换成用户想要的元素
    [mArray3 replaceObjectAtIndex:2 withObject:@"sb"];

4.元素交换

    [mArray3 exchangeObjectAtIndex:1 withObjectAtIndex:4];

5.删除元素

    //删除指定元素
    [mArray3 removeObject:@"1"];
    //删除指定位置上的元素
    [mArray3 removeObjectAtIndex:2];
    //删除数组中最后一个元素
    [mArray3 removeLastObject];
    //删除所有元素
    [mArray3 removeAllObjects];

6.快速遍历

    //for(类型 对象 in 集合)
    for (NSString *ele in mArray3) {
        NSLog(@"ele = %@",ele);
    }
Ubuntu搭建Pytorch环境(Anaconda、Cuda、cuDNN、Pytorch、Python、Pycharm、Jupyter) Ubuntu搭建Pytorch环境(Anconda、Cuda、Pytorch、Python、Pycharm、Jupyter) 阅读详情

相关推荐

pytorch超详细安装教程,Anaconda、PyTorch和PyCharm整套安装流程

本文介绍基于Anaconda环境以及与PyCharm结合,安装PyTorch深度学习框架。

Bluebro的博客 19万+

OC 数组总结(NSArray,NSMutableArray)

对OC中的数组进行总结.包括创建不可变数组, 字符串截取为数组, 数组拼接为字符串, 数组的快速遍历(快速枚举), 判断一个对象是否在数组中, 数组作为另一个数组的元素;创建可变数组, 添加元素,插入元素, 移除元素, 替换, 交换, 清空数组, 可变数组和不可变数组的转换和对数组的四种遍历方式,最后还有一个简单小应用程序

白鹤的博客 601

防火墙旁挂组网

分析拓扑结构,涉及路由器、交换机、防火墙。步骤包括基础 IP 配置、OSPF、防火墙双机热备、安全策略等。第一步,路由器配置。R5、R6 连接 ISP 和核心交换机,配置接口 IP,然后 OSPF。然后防火墙,双机热备的 HRP、VRRP,还有安全策略。接着交换机,划分 VLAN,配置 TRUNK,加入 OSPF。

weixin_73298423的博客 902

OC的不可变数组以及可变数组

OC中的数组与C语言的有一些区别,OC中没有多维数组。 OC中的数组分为不可变数组NSArray和NSMutableArray。 1.不可变数组的初始化以及创建 1)初始化://创建一个空的数组 NSSArray *array1 = [[NSSArray alloc] init]; NSSArray *array2 = [NSSArray array]; //创建一个含有一个元素的不可变数组

YZ_Gene的博客 3009

MaxKey+JeecgBoot单点登录实战:手把手教你从零配置到账户同步

本文提供MaxKey与JeecgBoot单点登录(SSO)的实战整合指南。详细讲解从MaxKey应用注册、JeecgBoot前后端改造,到最终实现账户同步的完整步骤,重点解决Shiro配置、令牌交换等关键问题,帮助企业构建统一、可扩展的身份管理体系。

weixin_29258297的博客 540

华为od 面试八股文_C++_02_含答案

华为od 面试八股文_C++_02_含答案

MISAYAONE的博客 3121

OC_数组(可变、不可变)

不可变数组 NSArray初始化NSArray NSArray *array1 = [[NSArray alloc]init]; NSArray *array2 = [NSArray array];//类方法 //创建一个里面有一个元素的不可变数组 NSArray *array3 = [NSArray arrayWithObject:@”Leee”];//创建一个里

yourjjboom的博客 976

顶刊论文引言用AI怎么写?借助Gemini 3 Pro结合四段式写出逻辑清晰的Introduction

写研究目标时,先明确研究问题,直接回应前文提到的研究缺口,如 “This study aims to investigate whether X modulates Y via the Z pathway in human cells.”然后再提出你的研究假设,当理论依据清晰时,可以用如 “We hypothesized that inhibiting X would rescue Y deficiency in this model.”的句子点出研究目标。要求:1)明确陈述本研究拟解决的核心科学问题;

智能AI让学术科研更容易 180

不可变数组(NSArray)与可变数组(NSMutableArray)

OC中的数组与C中的数组区别 1.C中的数组成员必须一致,OC不一定 2.OC中的数组成员必须是对象,不能是C中的基本数据类型,如int,float…数组的操作与字符串的操作有点类似 1.NSArray的定义赋值NSArray *array1=[[NSArray alloc]init]; NSArray *array2=[NSArray array]; //创建一个里面有一个元素的不可变数组

fanzef2n9的博客 4456

【Ellisys】【使用技巧】【二】

支持所有常见的编码器和协议实时播放或保存(无线和HCI)循环播放导出与其他视图协同(OverView 和 Spectrum)可以通过下面的位置看 重传的包。

奔跑吧 android 的博客 135

高级数据库--作业及答案

中科大金培权老师的高级数据库课程作业及答案

一杯水果茶!足矣~ 1657

ios-可变数组与不可变数组

可变数组与不可变数组的基本使用方法记录

qq_43718460的博客 1206

ARMv8/ARMv9的TLB深度学习

千万不要人云亦云。一个TLB entry里有很多很多东西的,有100多个比特位呢,并不是仅仅只有VA/PA/nG/VMID/ASID等。.👉👉👉 个人博客笔记导读目录(全部) 👈👈👈。

baron-周贺贺-代码改变世界ctw 1569

Objective-C 语法完整学习手册(小白自学 + 开发备查)

本文是一份面向零基础开发者的Objective-C与JavaScript/TypeScript语法对比指南。通过定义说明、完整代码示例和异同对比,系统讲解基础语法要点,包括: 基础语法:日志打印(NSLog/console.log)、变量常量定义、运算符差异 流程控制:if/switch/for/while结构对比(OC需明确BOOL类型) 核心数据类型:字符串(NSString/JS String)、数组、字典的不可变/可变特性区别 特殊对比:对象比较(OC用isEqual:,JS用===)、类型系统差异

cypking的博客 442

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

OC不可变数组NSArray详解

1、NSSArray(子类NSMutableArray)  、NSSet(子类NSMutableSet)、  NSDictionary(子类NSMutableDictionary)这几个类都是集合类。 2、c语言类型的数组只能存放一种类型的数据。为此引入OC数组NSArray,以面向对象的方法操作数据,可以存放各种类型的对象。(只能存放OC对象,不能存放非OC对象类型,例如基本数据类型,结构体,

1513

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Snail—OC学习之可变数组NSMutableArray

可变数组NSMutableArray 继承于 NSArray  NSArray的所有方法都适用于可变数组 下面是可变数组的一些初始化方法 #import int main(int argc, const char * argv[]) { @autoreleasepool { //可变数组继承于不可变数组 //空的可变数组

树上的大腰子 3075

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

OC语言基础八:OC数组

文章目录不可变数组创建取出数组中元素遍历数组 OC数组是oc集合数据类型中的一种,是有序集合,其他的两个是oc字典和set,是无序集合。 不可变数组 创建 1.initWithObjects方法结尾有个nil,是添加元素结束的标志,不作为真实的元素出现,也不会影响数组中元素的个数。 注意:基本数据类型不可以直接放入到OC数组,这是OC数组和C语言数组的一个区别。 但是可以通过NSNumbe把基本数...

煮酒Shae 2821

oc学习之NSArray与NSMutableArray数组

// // main.m // 6-10复习 // // Created by kj on 14-6-10. // Copyright (c) 2014年 kj. All rights reserved. // #import int main(int argc, const char * argv[]) { @autoreleasepool { //创建数

zilan1239的专栏 2万+

OC学习(五)不可变数组类,可变数组类及数值类

1.创建数组对象 //(1)使用便利构造器 //arrayWithObjects 创建对象时可以指定多个对象元素,元素与元素之间通过逗号进行间隔 //nil 作为数组元素存放的结束标志,遇到 nil 之后的元素,都不会放入数组 NSArray *arr1 = [NSArray arrayWithObjects:@"aa", @"bb"

Kevin_Rao的专栏 1129

OC可变数组的常用操作

可变数组 可变数组的初始化 可变数组,继承于不变数组NSArry; 不可变数组的方法都可以用于可变数组 创建一个空的可变数组 NSMutableArray *arr = [[NSMutableArray alloc]init]; //给一个初始化容量 NSMutableArray *arr1 = [[NSMutableArray alloc]initWithCapacity:10]; ...

俊而不逊的博客 1947

OC的不可变字典以及可变字典

相对数组而言,字典是无序的一个集合。字典的概念:字典是由关键字’key’及其’value’所构成的无序集合。即它由key-value组成的键值对的集合。’key’一般是NSString类型,’value’是OC中的任意对象。对于字典,我们就是通过’key’来访问相应的’value’。 字典同样有不可变字典(NSDictionary)和可变字典(NSMutableDictionary)。 1.不可

YZ_Gene的博客 989

OC 之可变数组

一.创建可变数组 1.创建一个可变空数组 NSMutableArray *arr = [NSMutableArray array]; 2.创建一个只有一个元素的可变数组 NSMutableArray *mut = [NSMutableArray arrayWithObject:@"sqw"]; 3.创建有多个元素的数组 NSMutab

wellcome183的博客 1190

OC中的可变数组

可变数组NSMutableArray,他是NSArray的子类                  一.初始化方法         1.初始化一个空的可变数组         NSMutableArray *mArray1 = [NSMutableArray array];         2.创建一个里面只有一个元素的可变数组         NSMuta

激情四射的博客 1755

OC中的数组

数组对象OC的数组里面存放的一定都是对象 数组也分为两种:可变数组与不可变数组不可变数组创建不可变数组1.用便利构造器的方式创建一个空数组 NSArray *arr = [NSArray array];2.字面量方法创建NSArray *arr = @[@"1",@"2",@"3",@"4",@"5"];用count可以统计出数组里的元素个数 取值也是通过下标来取,返回的是一个对象 如:NSA

进击的程序猿 2962

OC中的不可变数组

不可变数组  NSArray         一.初始化方法         1.创建一个空的数组         NSArray *array1 = [[NSArray alloc]init];         NSArray *array2 = [NSArray array];         2.创建一个里面只有一个元素的不可变数组         N

激情四射的博客 352

OC菜鸟成长记-OC中的数组创建和操作

在OC中,数组分为两种:不可变数组(NSArray) 和 可变数组(NSMutableArray)。根据自己的认识,笔者在下面对OC中的数组进行一下总结。 首先是不可变数组(NSArray): // NSArray //初始化 NSArray *array =[[NSArray alloc]init]; NSArray *array

LiuYongM的博客 1683
上一篇: OC学习----可变字符串
下一篇: OC学习----字典
25岁的大叔
博客等级 码龄13年 14粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值