@font-face { font-family: "宋体";}@font-face { font-family: "宋体";}@font-face { font-family: "@宋体";}@font-face { font-family: "Cambria";}@font-face { font-family: "Heiti SC Light";}@font-face { font-family: "@Heiti SC Light";}@font-face { font-family: "Menlo Regular";}p.MsoNormal, li.MsoNormal, div.MsoNormal { margin: 0 0 0; text-align: justify; font-size: 16px; font-family: Cambria; }.MsoChpDefault { font-family: Cambria; }div.WordSection1 { page: WordSection1; }
1.
数组的价值
:
存储多个元素
. (2)
存储的元素只能是对象
,
对象可以是不同类型的
. (3)
数组是一个有序的集合
. (4)
数组中的元素可以重复
,
而且重复的对象会成为数组元素
.
创建数组对象,
1.1
使用便利构造器
:
关键词
arrayWithObjects
arrayWithObjects
创建对象时可以指定多个对象元素,元素与元素之间通过逗号进行间隔.
nil 作为数组元素存放的结束标志.遇到nil之后,之后的元素都不会放入数组中,
例如
NSArray *arr = [NSArrayarrayWithObjects
:在此处添加字符串对象, 以nil 结束];
1.2使用初始化方法.关键词
initWithObject
s
NSArray *arr = [[NSArray alloc] initWithObjects : 在此处添加字符串对象,以nil 结束];
2.NSArray方法
2.1 获取元素个数。关键字词是count
例如:
NSUInteger count = [arr2 count];
NSLog(@"%lu", count);
2.2
根据索引值获取对象。
2.2.1
获取指定下标对应的元素
.
关键词是
objectAtIndex:
例如
:
NSString *str = [arr2 objectAtIndex:0];
NSLog(@"str = %@", str);
2.2.2
获取数组中的第一个元素
.
关键词是
firstObject
例如
:
NSString *firstObject = [arr2 firstObject];
NSLog(@"firstObject = %@", firstObject);
2.2.3
获取数组中的最后一个元素关键词是
lastObejct
NSString *lastObejct = [arr2 lastObject];
NSLog(@"lastObejct = %@", lastObejct);
2.2.4
获取对象在数组中的索引值。关键词是
indexOfObject
NSUInteger index = [arr2 indexOfObject:@"dd"];
NSLog(@"index = %lu", index);
2.2.5
判断是否包含某个对象关键词是
containsObject
例如
:
BOOL isExist = [arr2 containsObject:@"dd"];
NSLog(@"isExist = %d", isExist);
2.2.6
数组排序
(
幼儿版
)
关键词是
sortedArrayUsingSelector
例如
:
NSArray *sortArr = [arr2 sortedArrayUsingSelector:@selector(compare:)];
NSLog(@"sortArr = %@", sortArr
);
2.2.7
快速遍历
(
快速枚举
)
使用
forin
注意
forin
是用于将集合中的元素遍历出来
.
for
(
type
*
object
in
collection
)
{
statements
}
forin
的中
type
数组中元素的类型
.
object
起一个对象的名字
(
自己拟定的
) .
collection
:
集合
(
也就是大容器
,
数组
,
字典
,
或者集合
)
例如
for (int i = 0; i < [arr2 count]; i++) {
NSString *str = [arr2 objectAtIndex:i];
NSLog(@"%@", str);
}
3.NSMutableArray 方法
3.1
创建数组对象
例如
NSMutableArray *arr = [NSMutableArray arrayWithObjects
:
在此处添加数组对象
,
以nil 结束];
3.2
给数组添加对象
关键字是
addObject
例如
Book *book= [[Book alloc] initWithName:@"iOS高高级编程"author:@"Frank" price:300];
[arr addObject:book];
3.3
删除数组中的一个对象关键词是
removeObjectAtIndex
例如
[arr removeObjectAtIndex:0];
3.4
查找数组中的对象关键词
isEqualToString
用
forin
获取到数组中的元素
,
然后对比名字
,
如果相同就输出名字
.
例如
for (Book *book in arr) {
if ([[book name] isEqualToString:@"iOS高级编程"]){ NSLog(@"查找成功");
}
}
3.5
输出数组中所有对象
用
forin
例如输出书籍清单
(
书名
for(Book *book in arr) {
NSLog(@"%@", [bookname]);
}
注意
:
如果想一次性输出数组所有内容则要重写从父类继承过来的
description
方法
当打印该类的对象时
,
系统会自动调用该方法
.
例如-(NSString *)description
{
return [NSStringstringWithFormat:@"%@ %@ %g", _name, _author, _price];
}
%g
可以忽略无用的
0
4.NSNumber方法
4.1
定义一个数据类型变量
chara = 'f';
intb = 102;
shortc = 100;
longd = 1000;
floatf = 10.23;
doublee = 100.22222;
BOOLisTrue = YES;
4.1
将基本数据类型转为
NSNumber
类型的对象
关键词
numberWith +
基本数据类型符
(char int
等
)
例如
NSNumber *a1 = [NSNumber numberWithChar:a];
4.2
将
NSNumber
类型的对象转为基本数据类型
.
关键词
基本数据类型符
(char int
等
) + Value
例如
char a2 = [a1 charValue];
4.3NSNumber
类型的对象比较
关键词
compare
例如
NSLog(@"%ld", [a compare : b]);
当升序时(即前者大于后者)输出结果为1.
当降序时(即前者小于后者)输出结果为-1.
当相等时(即前者等于后者)输出为0.