119,NSArray的基本使用
2015-12-20 20:33
260 查看
#import <Foundation/Foundation.h>
/*
1,什么是NSArray?
>NSArray是OC中的数组类,开发中,建议尽量使用NSArray代替C语言中的数组
>C语言中的数组的弊端:
-只能存放一种类型的数据
-不能很方便地动态添加或删掉数组元素
2,NSArray的使用注意
>只能存放任意OC对象,并且是有顺序的
>不能存储非OC对象,比如,int/float/double/char/enum/struct。只能转成OC对象才能存放入NSArray
>它是不可变的,一旦初始化完毕后,它的内容就永远是固定,不能添加或删掉数组元素
*/
int main(int argc,
const char * argv[]) {
//3,初始化NSArray的数组
//(一)初始化一个空数组
NSArray *arr = [[NSArray
alloc]init];
//(二)用一个对象来初始化一个数组
NSArray *arr1 = [NSArray
arrayWithObject:@"ljs"];
//(三)用多个对象来初始化一个数组
//nil是数组的结束符
NSArray *arr2 = [NSArray
arrayWithObjects:@"ljs",@"lms",@"lka",nil];
NSArray *arr3 =
@[@"adh",@"kaid",@"zhede"];
NSLog(@"arr3 = %@",arr3);
//4,NSArray常用的方法
//(一)求数组里面的对象个数
NSUInteger count = [arr3
count];
NSLog(@"count = %lu",count);
//(二)取出数组的第一个对象
NSLog(@"firstObject = %@",[arr3
firstObject]);
//(三)取出数组的最后一个对象
NSLog(@"lastObject = %@",[arr3
lastObject]);
//(四)根据指定位置取出对应的对象
NSLog(@"arr3[1] = %@",[arr3
objectAtIndex:1]);
NSLog(@"arr3[1] = %@",arr3[1]);
//(五)判断数组是否包含某一个对象
if ([arr3 containsObject:@"kaid"]) {
NSLog(@"数组arr3包含了对象kaid");
}else{
NSLog(@"数组arr3不包含了对象kaid");
}
//5,数组的遍历
//(一)常用遍历
for(int i =
0;i <arr3.count;i++){
NSLog(@"arr3[%i] = %@",i,arr3[i]);
}
NSLog(@"---------------");
for(NSObject *obj
in arr3){
NSLog(@"%@",obj);
}
NSLog(@"---------------");
//使用OC数组的迭代器来遍历
//每取出一个元素就会调用一个block,就会把元素,下标传给我们
//stop:用于控制什么时候停止遍历
[arr3 enumerateObjectsUsingBlock:^(id
_Nonnull obj, NSUInteger idx,
BOOL * _Nonnull stop) {
if(idx ==
1){
*stop = YES;
}
NSLog(@"arr3[%lu] = %@",idx,obj);
}];
return 0;
}
/*
1,什么是NSArray?
>NSArray是OC中的数组类,开发中,建议尽量使用NSArray代替C语言中的数组
>C语言中的数组的弊端:
-只能存放一种类型的数据
-不能很方便地动态添加或删掉数组元素
2,NSArray的使用注意
>只能存放任意OC对象,并且是有顺序的
>不能存储非OC对象,比如,int/float/double/char/enum/struct。只能转成OC对象才能存放入NSArray
>它是不可变的,一旦初始化完毕后,它的内容就永远是固定,不能添加或删掉数组元素
*/
int main(int argc,
const char * argv[]) {
//3,初始化NSArray的数组
//(一)初始化一个空数组
NSArray *arr = [[NSArray
alloc]init];
//(二)用一个对象来初始化一个数组
NSArray *arr1 = [NSArray
arrayWithObject:@"ljs"];
//(三)用多个对象来初始化一个数组
//nil是数组的结束符
NSArray *arr2 = [NSArray
arrayWithObjects:@"ljs",@"lms",@"lka",nil];
NSArray *arr3 =
@[@"adh",@"kaid",@"zhede"];
NSLog(@"arr3 = %@",arr3);
//4,NSArray常用的方法
//(一)求数组里面的对象个数
NSUInteger count = [arr3
count];
NSLog(@"count = %lu",count);
//(二)取出数组的第一个对象
NSLog(@"firstObject = %@",[arr3
firstObject]);
//(三)取出数组的最后一个对象
NSLog(@"lastObject = %@",[arr3
lastObject]);
//(四)根据指定位置取出对应的对象
NSLog(@"arr3[1] = %@",[arr3
objectAtIndex:1]);
NSLog(@"arr3[1] = %@",arr3[1]);
//(五)判断数组是否包含某一个对象
if ([arr3 containsObject:@"kaid"]) {
NSLog(@"数组arr3包含了对象kaid");
}else{
NSLog(@"数组arr3不包含了对象kaid");
}
//5,数组的遍历
//(一)常用遍历
for(int i =
0;i <arr3.count;i++){
NSLog(@"arr3[%i] = %@",i,arr3[i]);
}
NSLog(@"---------------");
for(NSObject *obj
in arr3){
NSLog(@"%@",obj);
}
NSLog(@"---------------");
//使用OC数组的迭代器来遍历
//每取出一个元素就会调用一个block,就会把元素,下标传给我们
//stop:用于控制什么时候停止遍历
[arr3 enumerateObjectsUsingBlock:^(id
_Nonnull obj, NSUInteger idx,
BOOL * _Nonnull stop) {
if(idx ==
1){
*stop = YES;
}
NSLog(@"arr3[%lu] = %@",idx,obj);
}];
return 0;
}
相关文章推荐
- video和dvd audio区别:
- 《挑战程序设计竞赛》2.6 数学问题-辗转相除法 AOJ0005 POJ2429 1930(1)
- NRF51822 GPIO
- 《失落的世纪致富经典》卷二:4你要创造财富,而不是与人竞争
- Appium__用户登录&退出
- ucosIII 信号量
- HTML 5 Audio Video中怎样来插入音频和视频?
- 实验五
- 益西拉姆 20135239 +银雪纯 20125225 +马悦 20135235 实验四 实验报告
- 使用xib给label等文字显示控件添加attributed属性
- 求解二进制中1的个数
- 在图片上面添加一个图片,实现12306验证码的选择并获取相关坐标的功能
- id和instancetype的异同
- 卷积神经网络 资料
- UITableView回调函数的执行顺序
- mysql主从复制及半同步
- linux-->touch命令详解
- 用Eclipse跑Hadoop程序的注意事项
- pydev的注释快捷键
- 如何在A用户下建立视图,这个视图是A的表与B的表进行关联的?