Xcode基础:Objective-C中的数组详解
2013-04-23 15:10
197 查看
Xcode基础:Objective-C中的数组详解
我们数数习惯由1开始。在数组中,第一个元素的索引是0,第二个索引是1,以此类推。
本文后面的部分还会有一些例子来说明从0开始计数的作用。
有两个类提供了数组:NSArray和NSMutableArray。带有字符串的数组分为固定数组和可变数组两种。在本章中,我们只体积可变数组。
通过执行下面这个步骤可以创建数组:
[NSMutableArray array]
这个语句会产生一个空数组。但是……请等等,这句代码有些古怪,不是么?实际上,这个例子中我们使用类NSMutalbeArray的名字来说明信息接收方。但是我们希望向类的一个实例发送信息,而不是类本身。
好了,我们又学到了一些新的东西:事实上,在Objective-C语言中,我们可以向类发送信息(原因是类本身也是对象,它是被元类(meta-class)的实例,但本书中不再就此问题做深入探讨)。在Cocoa的说明文件中,能够直接作用于类的方法(类方法)名称前用加号“+”标示,与前面表示减号“-”的实例方法不同(见第8章例[4.5])。在说明文件中我们可以见到对方法array这样的描述:
再回到代码中,下面的程序用于创建一个空的数组,并将三个字符串储存在其中,之后显示数组元素个数。
例[1]
There are 3 elements in my array
接下来的程序和前面的大体一致,只是最后显示存储在索引0中的的字符串。为此,我们在语句行[2.13]中使用了方法“objectAtIndex:”。
例[2]
The element at index 0 in the array is: first string
你将会经常需要查看数组中的每一个元素以便进行其它操作。为此你可以参照下面例子,使用循环语句按照索引顺序显示数组中的每个元素:
The element at index 0 in the array is: first string
The element at index 1 in the array is: second string
The element at index 2 in the array is: third string
需要注意的是数组不仅仅可以用于字符串操作。它可以用于任何你希望用数组操作的对象。
类NSArray和类NSMutableArray提供了许多其它方法,希望你能够通过查看说明文件进一步学习与数组操作相关的知识。我们把置换数组内元素这个问题作为本章的结束。置换数组内元素要使用到方法“replaceObjectAtIndex:… withObject:…”。到目前为止,我们见到的方法最多只有一个参数,而这个方法不同,这就是为什么你在这里看到它,它带有两个参数。其实你可以看出来的,因为这个方法带有两个冒号。在Objective-C语言的方法可以使用任意多参数。下面是这个方法的语法:
[myArray replaceObjectAtIndex:1 withObject:@"Hello"];
运行这个方法后,索引1中的对象已经变成了字符串@”Hello”。当然,这个方法只能援引那些有效的索引。换句话说,原来索引中应当有对象,我们才可以用这个方法置换进新的对象。你可能发现了,Objective-C语言的方法的名字好似句子填空。当你要使用一个方法,只要填上你需要的值构成一个有意义的“句子”即可。这种给方法命名的方法来源于Smalltalk(一种由Xerox公司开发的面向对象的系统——译者按),也是Objective-C语言一大特色,它可以大大增强代码的描述性。当创建自己的方法时,你也应当尽量按照这种方法命名,不仅可以提高代码的可读性,而且使你的程序便于维护。
相关文章推荐
- Xcode基础:Objective-C中的数组详解
- Xcode基础:详解Objective-C开发带有图形界面的程序
- Objective-C的@property 详解(ios,iphone,xcode,retain,release,assign,copy)
- [Objective-c 基础 - 3.3] @property属性详解
- JAVA基础之集合数组详解
- Objective-C的@property 详解(ios,iphone,xcode,retain,release,assign,copy)
- [Objective-c 基础 - 3.3] @property属性详解
- objective-c 基础语法和习题 / 类 详解/ 函数多参数的几种用法
- 【PHP基础知识】——PHP数组操作详解
- 黑马程序员_Java基础_04数组main函数args详解、数组排序、二分查找实例
- Java基础与案例开发详解の数组及常用技巧
- 数组的声明定义以及基础知识详解
- 【C#基础】- 数组、集合和泛型详解
- Java基础知识——Java数组详解
- Objective-C ,ios,iphone开发基础:UIAlertView使用详解
- JavaScript语法基础:数组的常用方法详解
- Objective-C 基础语法详解
- C++基础积累(2)指针与数组、指针与函数关系详解
- Objective-C ,ios,iphone开发基础:UIAlertView使用详解