objective c中的数组和简单操作(四)

别再手动算K值了!ZEMAX中两种锥透镜建模方法详解(标准面 vs. 轴锥面) 本文详细解析了ZEMAX中锥透镜的两种建模方法:标准面与轴锥面。通过对比两者的精度、计算效率和适用场景,帮助工程师在激光整形、光束匀化等应用中做出最优选择,并提供了参数设置和异常排查的实用技巧。 阅读详情

 

holydancer原创,如需转载,请在显要位置注明:

转自holydancer的优快云专栏,原文地址:http://blog.youkuaiyun.com/holydancer/article/details/7346221

更多内容访问:这里

在objective c中,除了C的数组使用方法,Cocoa还为我们提供了一个NSArray类,使用该类可以简单方便的存储对象,该类同NSMutableString一样,还有一个子类,用于处理可变数组:NSMutableArray.类中的方法简单直了,很容易理解,下面只做一些简单的示范:

 

 

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        //数组可以一次性添加完全,以nil作为结尾标志。
        NSArray *array =[NSArray arrayWithObjects:@"DANCER",@"holy", nil];
        //如果要添加空的话可以用以下方法
        NSArray *array1=[NSArray arrayWithObjects:@"dancer",[NSNull null], nil];
        //同字符串一样,可以建立可变更的数组,并设置一个初始量。
        NSMutableArray *array2=[NSMutableArray arrayWithCapacity:50];
        //下面可以动态添加数组元素
        [array2 addObject:@"holy"];
        [array2 addObject:@"dancer"];
        [array2 addObject:@"hoho"];
        //合并字符串数组
        NSString *str = [array2 componentsJoinedByString:@"|"];
        NSLog(str);
        //字符串切割成数组
        NSArray *array3=[str componentsSeparatedByString:@"|"];
        NSLog(@"%@",array3);
        //可变数组元素删除
        [array2 removeObjectAtIndex:1];
        NSLog(@"%@",array2);
        
        
        
        
    }
    return 0;
}

 

 

 

 

 

 

NSArray可以放一切数据,除了C中的基本数据类型,C中的一些基本元素我们可以用NSNumber类来包装,类似java中的装箱,另外还有一些struct类型的数据我们也可以用NSNumber类的父类NSValue来进行包装,包装成NSValue的对象再将其放入数组中。具体使用方法看代码:

 

 

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        NSMutableArray *array = [NSMutableArray arrayWithCapacity:50];
        int age=5;
        char c='c';
        float f=3.14;
        NSRect rect =NSMakeRect(1, 2, 3, 4);
        NSNumber *myAge = [NSNumber numberWithInt:age];
        NSNumber *myC = [NSNumber numberWithChar:c];
        NSNumber *myF= [NSNumber numberWithFloat:f];
        NSValue *value = [NSValue valueWithRect:rect];
        [array addObject:myAge];
        [array addObject:myC];
        [array addObject:myF];
        [array addObject:value];
        NSLog(@"%@",array);
    }
    return 0;
}

 

 

 

 

 

 

Cocoa提供了好几种方法进行数组的迭代,如上所示,我们直接用%@可以输出数组的详细信息,也可以使用以下方法将其元素分别取出:

 

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        NSMutableArray *array = [NSMutableArray arrayWithCapacity:50];
        [array addObject:@"a"];
        [array addObject:@"b"];
        [array addObject:@"c"];
        [array addObject:@"d"];
        NSLog(@"%@",array);//以大括号形式输出数组内容
        //第一种迭代方法
        for(int i=0;i<[array count];i++)
        {
            NSLog(@"%@",[array objectAtIndex:i]);
        }
        //第二种迭代方法
        id ob;
        NSEnumerator *enumerator = [array objectEnumerator];//实现一个迭代器
        while(ob=[enumerator nextObject])
        {
            NSLog(@"%@",ob);
        }
        //第三种最简单的for in迭代方法
        id oc;
        for (oc in array) {
            NSLog(@"%@",oc);
        }
    }
    return 0;
}

 

 

 

 

 

 

关键字:objective-c ,objective c , oc ,数组 

 

Windows 11 安装 Miniforge,配置国内源 本文详细介绍了在 Windows 11 系统中安装 Miniforge 的完整流程,包括下载、安装选项设置、配置国内镜像源(如清华大学源)以加速包管理,并启用 mamba 提升依赖解析与安装速度。同时涵盖 conda 与 mamba 的基本使用验证、PowerShell 初始化及环境提示符优化,帮助用户快速搭建高效、开源、免费的 Python 科学计算环境。 阅读详情

相关推荐

Python实现安居客新房数据抓取简易版

本文介绍使用Python爬取安居客新房楼盘数据的方法,重点针对三四线城市。通过分析移动端H5页面结构,采用滚动加载方式获取推荐楼盘列表(class="recomm-list"),从中提取楼盘ID并拼接详情页链接。代码展示了如何解析HTML标签获取楼盘名称、状态、价格、户型等基本信息,并处理图片URL。爬取过程涉及一个一级页面和两个二级页面,同时提到可能遇到的验证码问题将在后续处理。核心代码使用BeautifulSoup解析HTML,requests发送请求,并将数据存入MySQL数据库。

qq_37604998的博客 475

[Objective-C语言教程]数组(14)

Objective-C编程语言提供了一种叫作数组的数据结构,它可以存储相同类型的固定大小顺序元素的集合。数组用于存储数据集合,但将数组视为相同类型的变量集合通常更有用。 可以声明一个数组变量(例如numbers)并使用numbers[0],numbers[1]和...,numbers[99]来表示单个变量,例如:number0,number1,...和number99,而不是声明单个变量。 使用...

weixin_30670151的博客 341

如何制作Mike21溢油模型围油栏文件

这段时间群友在做海洋环评的做了一个MIKE21的溢油模型,溢油模型其实也是ECOLAB模块的应用,而在海上发生溢油事件的时候,为防止溢油对海洋生态的破坏,经常使用的一种手段就是使用围油栏技术将溢油控制在一定范围并进行处理。今天小编就给大家说说在MIKE21里怎么实现围油栏文件的制作

zhuzhujiayoua的博客 1332

Objective-C第一课 变量和常量

Objective-C是一个C语言的超集,这意味着可以再同一个源文件中混合使用这两种语言。事实上Objective-C的大多核心结构都依赖于C语言,因此在学习Objective-C之前先了解一下C语言基础很有帮助。 Objective-C与C语言的关系 这个模块将简单的介绍一下C语言,并将讨论一下Objective-C的注释、变量、数学运算符、流程控制、简单数据结构以及指针等。这些

戴维营教育 872

从DCI-P3到sRGB:跨媒体色彩转换的矩阵奥秘与实践

本文深入解析从DCI-P3到sRGB的色彩空间转换技术,揭示矩阵运算的核心原理与实践技巧。通过实战案例展示如何正确处理白点差异、伽马曲线转换等关键环节,帮助影视从业者解决跨媒体色彩匹配问题,确保作品在不同设备上呈现一致的视觉效果。

weixin_28709649的博客 330

Python海康相机api---超简单入坑学习必看

海康官网下载相机驱动​安装好以后找到Python的开发文件目录参考:D:\MVS\MVS\Development\Samples\Python\MvImport这几个文件很重要,想调用海康相机取图会用到.​为了写代码方便可以把这几个文件拷贝一下,跟你的api主文件放在同一个文件夹下可以减少80%的烦恼.​。

weixin_59360687的博客 3480

Objective-C中的常量

我正在开发一个Cocoa应用程序,并且我使用常量NSString作为存储我的首选项的键名的方法。 我知道这是一个好主意,因为它可以在必要时轻松更改密钥。 此外,它是整个'将您的数据与逻辑分

asdfgh0077的博客 279

OpenSpec 从入门到精通:AI 时代的最佳 SDD 范式

同样都是「先写规范再写代码」的开源 SDD 框架,OpenSpec(https://github.com/fission-ai/openspec) 展现出了极高的工程性价比,无论是使用 Claude Code、Cursor 还是 Aider,都可以无缝接入 OpenSpec 的规格管理层。这些问题需要人来做判断,AI 做不了这个主。整个流程跑下来,OpenSpec 产出的效果还是令人满意的,一些前期没有考虑到的细节 AI 都补上了,生成的相关文档也有利于开发人员的知识对齐,可以尝试在团队内部推广。

qq_39093474的博客 932

Objective-C中的数据类型、常量、变量、运算符与表达式

1、Objective-C中的数据类型: Objective-C中的基本数据类型有:int、char(-128-127)、float、double、BOOL,Byte(0-255) Id类型相当于(等价与)NSObject *类型   (在iOS中,int类型可使用NSInteger / NSUInteger表示;float / double类型可使用CGFloat表示;后者可以根据...

weixin_30907523的博客 112

大数据与宠物:健康监测数据分析

随着全球宠物市场规模的快速增长(2023年全球宠物产业规模已达3500亿美元),宠物健康管理需求呈现指数级上升。传统宠物医疗依赖定期体检和症状观察,存在滞后性和主观性缺陷。本文聚焦如何通过物联网(IoT)设备采集宠物生理数据(体温、心率、活动量等),利用大数据分析技术构建实时健康监测系统,实现宠物健康状态的动态评估、异常预警和疾病预测。研究范围涵盖数据采集技术、数据预处理方法、机器学习模型构建及实际应用场景落地。背景介绍:明确研究目的、目标读者及核心术语核心概念与联系。

2502_91592937的博客 1068

ESP32 双雷达融合盲区车辆接近预警系统设计与实现

/ 超声波传感器引脚// 触发引脚// 回声引脚// 预警模块引脚// 蜂鸣器引脚// LED引脚// 串口配置(毫米波雷达用UART2)#define BAUD_RATE 115200 // 雷达串口波特率(IWR6843默认配置)// 预警阈值(可根据实际需求调整)// 高危区阈值(3m)// 预警区阈值(10m)// 传感器数据存储// 毫米波雷达距离(m)// 毫米波雷达速度(km/h)// 超声波距离(m)// 融合后距离(m)

weixin_42300449的博客 747

Objective-C中的数组和字符串

一.    OC的数组成员是任意的对象指针    与C中的链表结构类似(以nil结尾)    一切的数组操作不能越界         OC的数组分为 -->不可变数组 NSArray -->    可变数组 NSMutableArray       [cpp] view plain copy "code" class="

lichuanlong007的博客 1160

【2026年华为暑期实习(AI)-4月29日-第一题- 选择题】(题目+思路+Java&C++&Python解析+在线测试)

本文摘要涵盖了机器学习和深度学习中的多个核心概念与技术,包括非负矩阵分解、条件数、MobileNet创新点、LDA降维、大模型评测指标、半精度训练、多任务学习、GPU存储层次、正则化、张量并行等。通过12道单选题和8道多选题的形式,系统性地考察了相关理论原理、应用场景及工程实践要点。题目设计注重概念准确性(如LDA目标函数)、技术细节(如Megatron-LM的并行策略)与实际应用(如FP16训练动机),并包含概率统计(二项分布)和数值计算(微分误差分析)等数学基础内容,全面检验读者对AI领域关键知识的掌握

m0_73659489的博客 143

Objective-C 二维数组详解

在实际的项目开发中,二维数组也是常常用到的数据结构。OC中的二维数组也是通过一维数组来建立的,今天我们来详解一下如何在OC中使用二维数组。 【使用NSArray初始化二维数组】 使用NSArray初始化的一维数组和二维数组都是不可变数组。 #import int main(int argc, const char * argv[]) { @autoreleasepool {

乞力马扎罗的雪CYF的博客 1万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Objective-C 之 数组

一、不可变数组NSArray 1.数组定义 // 创建一个空的不可变数组 NSArray *arr1 = [[NSArray alloc]init]; NSArray *arr2 = [NSArray array]; // 创建一个有一个元素的 不可变数组 NSArray *arr3 = [NSArray arrayWithObject:@"abcdefg"]; // 创建有多个元素的 不可变数组 需要用nil结尾 NSArray *arr4 = [NSArray arrayWithObjects:@

Nick_Li_的博客 699

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

objective-c数组使用小结

objective-c数组使用小结

ios开发 知识点 靳会有 1400

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Objective-C数组

Objective-C数组相关操作。     // insert code here...     NSLog(@"数组"); //指定多个字符串创建数组 NSArray *array; array=[NSArrayarrayWithObjects:@"0-asd",@"1-fds",@"2-哈咯",@"3-个人",nil]; //数组的长度 NSLog(

精彩人生 521

objective-c 之数组

obj-C有两种数组,一种是不可变数组NSArray(可以理解为常量),另一种是可变数组NSMutableArray。这里只说常用的NSMutableArray。对数组的操作有3个:插入、访问、删除。用 id array = [ [ NSMutableArray init ] alloc ];  [ array release ]; 来创建释放数组。数组长度可以通过 [ array count ]

OoOMRzhang的专栏 840

objective-c二维数组 objective-c多维数组 iPhone 开发

//构造二维数组 NSArray *array = [[NSArray alloc] initWithObjects: [NSArray arrayWithObjects:@"iOS",@"android",@"C",@"C++",@"OC",@"JAVA", nil], [NSArray arrayWithObjects:@"php",@"c#",@"FMDB",@"sqlite",@

iOS 移动开发 6691

Objective-C语法之数组对象的那些事儿

使用数组对象创建的数组功能非常强大,在Java语言或者C语言中定义的数组必须满足数组中的每一个元素必须是同样的类型。而Objective-C语言可以在Array数组中放任意类型的数据,值得注意的是只能放指向这个对象的指针,如果直接放int ,char,double 等等,是不行的. 1.不可变数组对象 使用NSArray关键字创建一个不可变的数组

焦雨晗 699

Objective-C入门08:可变数组

Objective-C入门08:可变数组 #import int main(int argc,constchar * argv[]) {     @autoreleasepool {        //        可变数组 可以在数组里卖弄进行增删改的操作 //        可变数组与数组的关系:可变数组是数组的子类 #pragma

FF251606的博客 602

Objective-C 数组

文章目录1. 二维数组声明 1. 二维数组声明 People *p00 = [[People alloc]initWithName:@"00"]; People *p01 = [[People alloc]initWithName:@"01"]; People *p02 = [[People alloc]initWithName:@"02"]; ...

VictorZhang 661

【IOS 开发学习总结-OC-6】objective-c 的数组

objective-c是C 语言的超级,直接使用了 C 语言的数组。定义数组语法格式:type array[length],其中的 length 可以是个固定的整数也可以是整数变量或表达式。 定义数组时,如果没有对数组进行初始化,系统对数组元素赋值为默认的初始值。赋初始值的规则如下: 所有整型(包括字符型)的数组元素,系统默认赋值为0; 所有浮点型的数组元素,系统默认赋值为0.0; 所有指针型的数

Albert的专栏 4274

iOS/Objective-C数组NSArray操作总结20130608更新

个人整理转载请注明出处http://blog.youkuaiyun.com/rylt2011/article/details/9046983 NSArray不可变数组,因为NSArray没有成员方法修改,OC数组元素是任意对象,只能存放对象指针,以nil结尾   创建数组 创建数组并赋初值 NSArray * array = [[NSArray alloc]initWithObjects:@"o

X_TopFan的专栏 1万+

Objective-C语言的多维数组

多维数组是指数组的每个元素也可以是一个数组,这样就形成了更高维度的结构。以二维数组为例,它可以被视为一个表格,其中每一行都是一个一维数组。多维数组可以用来表示诸如矩阵、图像、棋盘等结构。在Objective-C中,一维数组可以使用NSArray或NSMutableArray来实现,而多维数组则可以通过嵌套这些数组来实现。在Objective-C中,可以通过嵌套NSMutableArray或NSArray来创建多维数组。例如,创建一个二维数组可以用如下方式:```objc。

2501_91403789的博客 528
上一篇: objective C中的字符串(三)
下一篇: objective C中的@class, SEL , IMP等灵活机制(五)
holydancer
博客等级 码龄15年 474粉丝 59原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值