《黑马程序员》 NSArray和NSMutableArray的使用(Objective - c语法)

------- <a href="http://www.itheima.com" target="blank">Windows Phone 7手机开发</a>、<a href="http://www.itheima.com" target="blank">.Net培训</a>、期待与您交流! -------

1 NSArray 的使用方法

• Foundation中数组(NSArray)是有序的对象集合

• NSArray只能存储Objective-C的对象,而不能存储像 int、float这些基本数据类型,但是Objective-C对C 兼容,所以

Objective-C程序中,仍然可以使用C的 数组来存储基本数据类型

• NSArray?一旦创建便不可以再对它就进行更改,如果 要进行对数组的增、删、改等操作的话,需要使用 NSArray的子

NSMutableArray来创建对象

[array count] : 数组的长度。

[array objectAtIndex 0]: 传入数组脚标的id 得到数据对象。

[arrayWithObjects; ...] :向数组对象初始化赋值。这里可以写任意对象的指针,结尾必须使用nil。

指定多个字符串创建数组

NSArray *array;

array=[NSArrayarrayWithObjects:@"0-asd",@"1-fds",@"2-哈咯",@"3-个人",nil];

数组的长度

NSLog(@"数组长度%d",array.count);

通过索引取得对象

for(int i=0;i<array.count;i++)

{

  NSString *secondStr=[arrayobjectAtIndex:i];

  NSLog(secondStr,nil);

}

//高速枚举法取得对象

for(NSString *str in array)

{

  NSLog(str,nil);

}

2、NSMutableArray可变对象数组

[NSMutableArray arrayWithCapacity:6] :初始化可变数组对象的长度,如果后面代码继续添加数组超过长度6以后NSMutableArray的长度会自动扩充,6是自己可以设置的长度。

[array addObject:...] : 向可变数组尾部添加数据对象。

[array addObjectsFromArray:..] :向可变数组尾部添加一个数组对象。

//对象的追加于删除

//创建空数组

NSMutableArray *MutArray=[NSMutableArray array];

//追加对象

[MutArrayaddObject:@"A"];

[MutArrayaddObjectsFromArray:array];

//插入对象

NSString *thstr=@"插入值";

[MutArrayinsertObject:thstr atIndex:4];

//替换对象

[MutArrayreplaceObjectAtIndex:2withObject:@"替换"];

//删除所有对象

//[Mutarray removeAllObjects];

//删除最后的对象

[MutArrayremoveLastObject];

//删除索引为Index的对象

[MutArrayremoveObjectAtIndex:0];

//删除所有于object同值的对象

[MutArrayremoveObject:@"0-asd"];

//删除数组中所有与object等价的对象

[MutArrayremoveObjectIdenticalTo:thstr];

//删除数组中所有与数组array包含相同的元素

[MutArrayremoveObjectsInArray:array];

时间: 2024-11-03 21:04:29

《黑马程序员》 NSArray和NSMutableArray的使用(Objective - c语法)的相关文章

黑马程序员------C 语言学习笔记---C语言基本语法成分

黑马程序员------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 1.1     C语言基本语法成分 #include <stdio.h> int main() { #define PI 3.14 int r; double s; double m; // 提示用户输入半径 pri

【转】黑马程序员_WPF基础属性、控件和语法

1.WPF事件中的sender --WPF中所有事件响应方法第一个参数都是sender,代表触发事件的控件对象,是object类型,需要类型转换使用. --应用:多个按钮的Click共享一个事件处理方法 2.集合List<T> --有时候不能预先确定长度或者需要动态修改内容和长度,这时候可以使用List<T>泛型集合. --List<T>,可以看做是动态的数组.Add.Clear.Count.Remove.RemoveAt.ToArray(转换为数组) --List&l

《黑马程序员》类和对象(Objective - c)

一.类和对象的概念 OC中有两个很关键的概念就是类和对象,类和对象的关系就如同模具和用这个模具制作出的物品之间的关系.一个类为它的全部对象给出了一个统一的定义,而他的每个对象则是符合这种定义的一个实体,因此类和对象的关系就是抽象和具体的关系. 创建对象:创建对象需要现有类,对象需表述清楚应该具备的属性和功能(行为)  格式[行为执行者  行为名称] 创建类: 需关心三项条件: 事物名称(类名):人(Person) 属性:身高(height).年龄(age)等 行为(功能):跑(run).吃(ea

黑马程序员_OC学习笔记之Foundation框架集合类

OC--集合类 1.OC集合类包括NSArray,NSSet,NSDictionary都是以面向对象的方式操作数组,而且OC数组不像C语言中的数组只能存放同一种数据类型,它可以存放任意类型的对象,但是不能存放非OC对象类型如基本数据类型int,struct,enum等 2.OC数组是以对象的方式存在,因此在创建的时候需要为创建的对象前面加* 3.NSArray数组一旦创建就决定了是不是可变,而且永远是可变或不可变 4.NSArray数组和子类NSMutableArray的基本操作: 1>使用NS

黑马程序员-OC学习笔记之Foundatio框架集合类

---------------------- IOS开发.Android培训.期待与您交流! ---------------------- 一.OC数组 OC数组是一个类,它也分不可变数组NSArray和可变数组NSMutableArray. 1?不可变数组的创建 // 创建一个不可变数组,元素为一个OC字符串对象 @"小桥" NSArray *array1 = [NSArray arrayWithObject:@"小桥"]; // 创建一个不可变数组,元素为多个O

黑马程序员_Foundation框架—集合

Foundation框架-集合 一.NSArray和NSMutableArray (一)NSArray不可变数组 (1)NSArray的基本介绍 NSArray是OC中使用的数组,是面向对象的,以面向对象的形式操纵对象,是不可变数组. C语言数组有一个缺点即数组中只能存放同种数据类型的元素. OC数组只能存放OC对象,不能存放非OC对象,如int,结构体和枚举等. (2)NSArray的创建 (3)NSArray的访问 (4)NSArray的遍历 数组的遍历有以下几种方式: 首先创建一个数组 第

黑马程序员_学习IOS之字典常用的方法

字典是无序的 数组是有序的.字典分为:可变字典和不可变字典  不可变字典对象 NSDictionary * dict = [[NSDictionary alloc]initWithObjectsAndKeys:@"one",@"1",@"two",@"2",@"three",@"3",@"four",@"4", nil]; //value = ke

黑马程序员——Foundation学习笔记(NSSet和NSMutableSet)

==========android培训.ios培训.java培训.期待与您交流========== 一.NSSet: NSSet NSSet里面存储的元素没有顺序,NSArray中的元素有顺序. NSSet *s = [NSSet set]; // 创建一个空的Set,永远是空,不可变. NSSet *s2 = [NSSet setWithObjects:@"jack",@"rose",nil]; NSString *str = [s2 anyObject]; //

黑马程序员-OC学习笔记之Foundation框架NSNumber、NSValue和NSDate

---------------------- IOS开发.Android培训.期待与您交流! ---------------------- 一.NSNumber 前几篇笔记中,小桥复习了Foundatio框架中的几个类,这三个是OC学习的尾声了. 小桥已经复习过OC数组类NSArray,也说过它只能存放OC的对象,对于基本的数据类型确无能为力,但是实际编程中经常要把基本的数据如int.float,结构体存放的OC数组中,怎么办?这里的NSNumber就有用了,它能够把基本数据类型包装成OC对象.