数组对象(1)
来源:互联网 发布:李小龙身材数据 编辑:程序博客网 时间:2024/04/29 08:56
Foundation数组是有序的对象的集合,常见的是一个数组中的元素都是一种特定类型,但这不是必须的。数组同样也存在可变数组和不可变数组,不可变数组是由NSArray类处理的,而可变数组是由NSMutableArray类处理的。后者是前者的子类,因此,后者继承了前者的方法。
下面一个程序介绍不可变数组:
#import <Foundation/Foundation.h>
int main ()
{
@autoreleasepool {
//创建一个数组包含月份的名称
NSArray *monthName = [NSArrayarrayWithObjects:@"January",@"February",@"March", @"April",@"May",@"June", @"July",@"August",@"September", @"October",@"November",@"December", nil];
//列出数组中所有的元素
NSLog(@"Month Name");
NSLog(@"===== ==== ");
for (int i =0; i <12; ++i) {
NSLog(@"%3i %@",i+1,[monthNameobjectAtIndex: i]);
}
}
return 0;
}
运行结果:2014-08-25 17:23:45.423 testOC[2386:303] Month Name
2014-08-25 17:23:45.424 testOC[2386:303] ===== ====
2014-08-25 17:23:45.425 testOC[2386:303] 1 January
2014-08-25 17:23:45.425 testOC[2386:303] 2 February
2014-08-25 17:23:45.426 testOC[2386:303] 3 March
2014-08-25 17:23:45.426 testOC[2386:303] 4 April
2014-08-25 17:23:45.426 testOC[2386:303] 5 May
2014-08-25 17:23:45.427 testOC[2386:303] 6 June
2014-08-25 17:23:45.427 testOC[2386:303] 7 July
2014-08-25 17:23:45.427 testOC[2386:303] 8 August
2014-08-25 17:23:45.428 testOC[2386:303] 9 September
2014-08-25 17:23:45.428 testOC[2386:303] 10 October
2014-08-25 17:23:45.428 testOC[2386:303] 11 November
2014-08-25 17:23:45.429 testOC[2386:303] 12 December
Program ended with exit code: 0
类方法arrayWithObjects:使用一列对象作为元素创建数组。这种情况下,需要按顺序列出对象并使用逗号隔开。这种方法使用的特殊语法可以接受可变数量的参数。但需要记住参数数组的结束,将这个数组的最后一个值指定为nil,它实际上并不会储存在数组中。使用objectAtIndex:方法需要索引数检索数组中的元素。
下面是一个程序介绍可变数组:
#import <Foundation/Foundation.h>
int main ()
{
@autoreleasepool {
NSMutableArray *number = [NSMutableArrayarray];
NSNumber *myNumber;
int i;
//创建0~9数字的数组
for (i = 0; i <10; ++i) {
myNumber = [NSNumber numberWithInteger: i];
[number addObject: myNumber];
}
//遍历数组与显示其值
for (i = 0; i <10; ++i) {
myNumber = [number objectAtIndex: i];
NSLog(@"%@",myNumber);
}
//使用带有%@格式的NSLog显示
NSLog(@"====== Using a single NSLog");
NSLog(@"%@",number);
}
return 0;
}
运行结果:2014-08-25 22:29:15.458 testOC[507:303] 0
2014-08-25 22:29:15.460 testOC[507:303] 1
2014-08-25 22:29:15.460 testOC[507:303] 2
2014-08-25 22:29:15.461 testOC[507:303] 3
2014-08-25 22:29:15.461 testOC[507:303] 4
2014-08-25 22:29:15.461 testOC[507:303] 5
2014-08-25 22:29:15.462 testOC[507:303] 6
2014-08-25 22:29:15.462 testOC[507:303] 7
2014-08-25 22:29:15.462 testOC[507:303] 8
2014-08-25 22:29:15.463 testOC[507:303] 9
2014-08-25 22:29:15.463 testOC[507:303] ====== Using a single NSLog
2014-08-25 22:29:15.464 testOC[507:303] (
0,
1,
2,
3,
4,
5,
6,
7,
8,
9
)
Program ended with exit code: 0
使用NSMutableArray的方法array创建一个空的可变的数组对象。数组元素并未指定并且可以根据需要增长,并且不能将整数这样的基本数据类型存储在数组之类的集合中。使用方法addObject:会在数组的末尾添加一个对象。
代码的最后,使用单个NSLog格式化%@显示整个数组。对于数组中的每一个元素,NSLog将会使用属于每个元素类的description方法。如果使用的是从NSObject对象继承的默认方法,获取到的是对象的类和地址。然而,在这个例子中,能够获取到更有意义的内容,说明NSNumber类自定义的description方法实现。
- 数组对象(1)
- 对象数组(动态数组)
- oj刷(1)4对象数组
- JavaScript数组与对象(1)
- 数组对象(2)
- 数组对象(3)
- 数组对象(4)
- 遍历数组(对象)
- javascript 数组(Array对象/数组API)
- javascript之Array 对象(数组对象)
- js内置对象(Array数组对象)
- JS内置对象1:数组
- JavaScript Array(数组)对象
- JavaScript Array(数组)对象
- JavaScript Array(数组)对象
- JavaScript Array(数组)对象
- JavaScript(8)数组对象
- JavaScript Array(数组)对象
- nginx错误之 nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
- TreeSet结合Comparable接口的使用
- [转载]葡萄牙购房移民
- JS中的load方法
- TOMCAT-SSL双向认证-配置实例
- 数组对象(1)
- 寻找必败态——一类博弈问题的快速解法
- jquery中this与$(this)的用法区别.
- SQLite基本操作
- java远程调用linux的命令或者脚本
- 五大常用算法之一:分治算法
- Github上的iOS开源类库
- ZZ: 55分钟学会正则表达式
- 理解ThreadPoolExecutor源码(一)线程池的corePoolSize、maximumPoolSize和poolSize