相关文章推荐
狂野的野马  ·  解决git报错 — remote: ...·  9 月前    · 
睡不着的抽屉  ·  C# ...·  1 年前    · 

@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.