数组与可变数组

2015年6月14日

1.数组

数组的初始化方式

1.初始化一个空数组

NSArray *array = [[NSArray alloc] init];//不可变数组,数组内不可以添加,删除,替换等元素

2.初始化一个空数组

NSArray *array = [NSArray array];

3.初始化一个数组,同时赋一个值给数组

NSArray *array = [NSArray arrayWithObject:@""];//数组里可以放任何类型的数据

4.初始化的同学添加多个元素

NSArray *array = [NSArray arrayWithObjects:@"",@"", nil];//注意不要忘记写nil,在它的前面有个逗号,

5.数组书写的新方法

NSArray *array = @[@"",@""];

数组取值,通过数组下标取值,下标从0开始,取数组里面元素的方法objectAtIndex

//        新方法

//        数组里面存的是什么类型就要用什么类型的变量去接收

//        NSString *name = list[1];

NSLog(@“%@",list[2]);

类型转换

数组里面需要的是id类型 需要把基本数据类型转换成NSNumber类型

int age = 120;

int s = 1;

NSLog(@"%012d",s);

NSNumber *ageNum = [[NSNumber alloc] initWithInt:age];

NSLog(@"%@",ageNum);

NSNumber *ageNum1 = [NSNumber numberWithInt:age];

//        现在把NSNumber类型转换成float类型

float aa = [newXiaoShu floatValue];

NSLog(@“%.5f",aa);

2.可变数组

//        可以在数组里面进行增删改的操作

//

//        可变数组与数组的关系:可变数组是数组的子类,

//        可变数组的初始化方式

//        NSMutableArray *array= [[NSMutableArray alloc] init];

//        NSMutableArray *array1 = [NSMutableArray array];

//        NSMutableArray *array2 = [NSMutableArray arrayWithObject:@""];

//        NSMutableArray *array3 = [NSMutableArray arrayWithObjects:@"",@"", nil];

//        NSMutableArray *array4 = @[@""];不可以这样写,切记,这是可变数组与数组的一个区别,这样初始化它里面的元素是不可变的

//        可变数组可以向数组内添加元素

//        使用可变数组的时候一定要初始化

NSMutableArray *array = [NSMutableArray array];

//        为可变数组添加方法

//        [array addObject:@"huLuWan"];

//        [array addObject:@"aoTeMan"];

//        NSLog(@"%@",array);

[array removeObjectAtIndex:70];移除第70个元素

//        [array removeAllObjects];

[array removeObject:@“技能7"];//把“技能7”移除

//        id obj 数组里面的每个元素

//        in表示在哪个里面

//        group 要遍历的数组

//        和上面的for循环一样的功能

for(id obj in group){

NSLog(@"%@",obj);

}

//        [group firstObject];//获得数组的第一个元素

//        [group lastObject];//获得数组的最后一个元素

[group replaceObjectAtIndex:3 withObject:@"fengshenghai666"];//替换第三个元素为fengshenghai666

补充

- (NSString *)description

{

return [NSString stringWithFormat:@"英雄的名字是:%@,等级是:%ld级,装备是:%@,血量是:%ld,攻击力是:%ld",self.heroName,(long)self.heroLv,self.heroEquipment,self.heroBlood,self.ATK];

}

description方法重写

这样写了之后,在main函数中写这样for循环

for (Hero *hero in allHeroDate) {//把所有的英雄数据输出;

NSLog(@"%@",hero);

}

就能输入allHeroDate里面的所有东西,输出(打印)格式是description里面的格式(样子)

最新文章

  1. JAVA SSH 框架介绍
  2. 【转】Asp.Net MVC及Web API框架配置会碰到的几个问题及解决方案
  3. JDBC 连接池
  4. BZOJ 3155: Preprefix sum
  5. Android开发之ContentValues
  6. 5-17 Hashing (25分)
  7. 标记偏置 隐马尔科夫 最大熵马尔科夫 HMM MEMM
  8. Android 启动Service服务和发送Broadcast广播的常用方法
  9. [ext4]07 磁盘布局 - 块/inode分配策略
  10. MBR和GPT概要学习
  11. 如何将外部数据库 导入到系统的SQL中
  12. wrapper induction随笔
  13. 解决tomcat中文传输乱码问题
  14. Python自动化开发 - RESTful API
  15. mybatis 枚举的支持
  16. 【vue】vue前端项目结构
  17. 构建高性能web之路------mysql读写分离实战(转)
  18. 四、springcloud之服务调用Feign(二)
  19. Git分布式工作流程
  20. 一段javascript设计模式应用场景

热门文章

  1. C# 添加excel批注
  2. 微信电话本可免费拨打网络电话 通话一分钟约300K流量
  3. html5开发制作,漂亮html5模板欣赏,H5网站建设
  4. Hadoop 面试题之storm 3个
  5. Swift2.1 语法指南——泛型
  6. Ajax前台调用后台方法、AJAX Pro2(回调函数)
  7. iOS开发——网络篇——UIWebview基本使用,NSInvocation(封装类),NSMethodSignature(签名),JavaScript,抛异常,消除警告
  8. Unity手游之路<四>3d旋转-四元数,欧拉角和变幻矩阵
  9. r-cnn学习(一)
  10. Ngrok搭建服务器