Objective-C中NSArray和NSMutableArray的基本用法
- /*---------------------NSArray---------------------------*/
- //创建数组
- NSArray *array1 = [NSArray arrayWithObject:@"1"];
- NSArray *array2 = [NSArray arrayWithObjects:@"1",@"2",@"3", nil];
- NSArray *array3 = [NSArray arrayWithArray:array2];
- NSLog(@"array1 = %@",array1);
- NSLog(@"array2 = %@",array2);
- NSLog(@"array3 = %@",array3);
- //获取数组内数据个数
- int count = [array2 count];
- NSLog(@"array2 size is %d",count);
- //访问数组内的数据
- NSString *str1 = [array2 objectAtIndex:0];
- NSLog(@"array2 first content is %@",str1);
- //数组中插入数据 返回新的数组
- NSArray *array4 = [array3 arrayByAddingObject:@"4"];
- NSLog(@"array4 = %@",array4);
- //数组内的数据以制定字符连接
- NSString *str2 = [array4 componentsJoinedByString:@","];
- NSLog(@"str2 = %@",str2);
- //判断数组中是否包含某对象
- BOOL b1 = [array4 containsObject:@"4"];
- BOOL b2 = [array4 containsObject:@"5"];
- NSLog(@"b1 = %d,b2 = %d",b1,b2);
- //取数组内制定对象的索引
- int index = [array4 indexOfObject:@"4"];
- NSLog(@"index = %d",index);
- NSString *str3 = [array4 lastObject];
- NSLog(@"array4 last object is %@",str3);
- /*-----------------------可变数组NSMutableArray-----------------------------------------*/
- //初始化数组 指定数组长度 但可变
- NSMutableArray *mArray1 = [NSMutableArray arrayWithCapacity:5];
- //向数组中添加元素
- [mArray1 addObject:@"aaaa"];
- [mArray1 addObject:@"cccc"];
- NSLog(@"mArray1 = %@",mArray1);
- //向指定位置插入元素
- [mArray1 insertObject:@"bbbb" atIndex:1];
- [mArray1 insertObject:@"dddd" atIndex:[mArray1 count]];
- [mArray1 insertObject:@"eeee" atIndex:[mArray1 count]];
- NSLog(@"mArray1 = %@",mArray1);
- //移除元素
- [mArray1 removeObject:@"eeee"];
- NSLog(@"mArray1 = %@",mArray1);
- [mArray1 removeObjectAtIndex:[mArray1 count]-1];
- NSLog(@"mArray1 = %@",mArray1);
- NSArray *array5 = [NSArray arrayWithObjects:@"bbbb",@"cccc", nil];
- [mArray1 removeObjectsInArray:array5];
- NSLog(@"mArray1 = %@",mArray1);
- //向数组内插入数组
- NSMutableArray *mArray2 = [NSMutableArray arrayWithObjects:@"aaaa",@"aaaa", nil];
- [mArray2 addObject:@"bbbb"];
- NSLog(@"mArray2 = %@",mArray2);
- [mArray2 addObjectsFromArray:array4];
- NSLog(@"mArray2 = %@",mArray2);
- //替换元素
- [mArray2 replaceObjectAtIndex:[mArray2 count]-1 withObject:@"5"];
- NSLog(@"mArray2 = %@",mArray2);
- //遍历数组 常规方法:性能较低
- NSArray *array6 = [NSArray arrayWithObjects:@"a",@"b",@"c",@"d",@"e", nil];
- int len = [array6 count];
- for (int i=0; i<len; i++) {
- NSString *value = [array6 objectAtIndex:i];
- NSLog(@"array6 %d content is %@",i,value);
- }
- //枚举遍历 相当于java中的增强for循环
- for (NSString *string in array6) {
- NSLog(@"array6 content is %@",string);
- }
- NSLog(@"-----------------------");
- //当不确定数组元素类型时
- for(id string in array6){
- NSLog(@"array6 content is %@",string);
- }
Objective-C中NSArray和NSMutableArray的基本用法的更多相关文章
- Objective-C中NSArray和NSMutableArray是如何使用的?
Objective-C的数组比C++,Java的数组强大在于,NSArray保存的对象可以是不同的对象.但只能保存对象,int ,char,double等基本数据类型不能直接保存,需要通过转换成对象才 ...
- NSArray和NSMutableArray相互转换, 以及常用方法-备
有时候项目中NSArray和NSMutableArray需要相互转化,下面给出相关代码1.NSArray 1.1 转化:NSMutableArray 1 NSMutableArray *mutable ...
- [Objective-C] 008_Foundation框架之NSArray与NSMutableArray
在Cocoa Foundation中NSArray和NSMutableArray 用于对象有序集合,NSArray和NSMutableArray类最大的区别是:NSArray是不可变,NSMutabl ...
- OC中Foundation框架之NSArray、NSMutableArray
NSArray概述 NSArray是OC中的数组类 NSArray特点 )只能存放任意OC对象,并且是有顺序的 )不能存放非OC对象,比如int/float/double/char/enum/stru ...
- 浅谈Objective—C中的面向对象特性
Objective-C世界中的面向对象程序设计 面向对象称程序设计可能是现在最常用的程序设计模式.如何开发实际的程序是存在两个派系的-- 面向对象语言--在过去的几十年中,很多的面向对象语言被发明出来 ...
- iOS阶段学习第15天笔记(NSArray与NSMutableArray 数组)
iOS学习(OC语言)知识点整理 一.OC中的数组 1)数组:也是一个对象,数组中存放的是对象的地址,可以存放任意类型对象的地址,只能是对象不能是具体的数值,数组是有序的, 可以存放重复的元 ...
- IOS数组NSArray与NSMutableArray知识点
此文是对数组NSArray与NSMutableArray知识点的总结,主要是一些常见的操作,别外一些操作见其相应的文档,下面的代码部分还运用的第三方插件BlocksKit相结合: a:Foundati ...
- 理解Objective C 中id
什么是id,与void *的区别 id在Objective C中是一个类型,一个complier所认可的Objective C类型,跟void *是不一样的,比如一个 id userName, 和vo ...
- NSArray、NSMutableArray基本用法
NSArray.NSMutableArray基本用法 一.基本操作 初始化方法:1.init返回一个空数组 2.initWithArray从已有数组初始化 3.initWithContentsOfFi ...
随机推荐
- hdu 2604Queuing dp+ 矩阵快速幂
题目链接 给一个长度为n的字符串, 每个字符可以使f或m. 问你不包含子串fmf以及fff的字符串数量有多少. 令0表示mm结尾, 1表示mf, 2表示ff, 3表示fm. 那么 f(n+1, 0) ...
- MAC环境下生成Apple证书教程
在MAC操作系统下,生成Apple证书比较简单,全图形化操作. 一.使用Keychain Access(钥匙串访问) MAC操作系统对证书的处理都采用了“Keychain Access”(中文系统名为 ...
- Windows2008 VPN登录
上一章已经讲过Windows2008RT搭建VPN服务器搭建过程,接下来说一下win2008和win8的VPN登录 win8VPN连接过程 先说win2008的VPN登录过程.很简单: 打开网络和共享 ...
- android中获取root权限的方法以及原理(转)
一. 概述 本文介绍了android中获取root权限的方法以及原理,让大家对android 玩家中常说的“越狱”有一个更深层次的认识. 二. Root 的介绍 1. Root 的目的 可以让我们拥有 ...
- 柯南君:看大数据时代下的IT架构(2)消息队列之RabbitMQ-基础概念详细介绍
一.基础概念详细介绍 1.引言 你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用.通讯的问题而苦恼.挣扎?如果是,那么恭喜你,消息服务让你可以很轻松 ...
- tomcat oracle 连接池配置
<?xml version='1.0' encoding='utf-8'?> <Context displayName="zcgl" docBase=" ...
- Effective Objective-C 读书笔记
一本不错的书,给出了52条建议来优化程序的性能,对初学者有不错的指导作用,但是对高级阶段的程序员可能帮助不是很大.这里贴出部分笔记: 第2条: 使用#improt导入头文件会把头文件的内容全部暴露到目 ...
- android样式布局--->ListView(附上源代码)
在android应用开发过程中,Listview 是经常使用的数据展现控件,往往用于显示列表形式的数据. 假设只显示数据往往会显得非常单调.非常多时候依据须要定义不同的item 背景选项.比如定义数据 ...
- 算法精解(C语言描述) 第3章 读书笔记
第3章 递归 1.基本递归 假设想计算整数n的阶乘,比如4!=4×3×2×1. 迭代法:循环遍历其中的每一个数,然后与它之前的数相乘作为结果再参与下一次计算.可正式定义为:n! = (n)(n-1)( ...
- 关于ECMAScript6一些知识
ECMAScript 是当前 JavaScript 语言规范的最新标准,一般称为 es6, 但是因为 该标准规范是在 2015年6月份发布的,所以也叫作 ECMAScript 2015 let 变量声 ...