objective-c数组笔记
数组与可变数组
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里面的格式(样子)
objective-c数组笔记的更多相关文章
- Objective -C学习笔记之字典
//字典:(关键字 值) // NSArray *array = [NSArray array];//空数组 // NSDictionary *dictionary = [NSDictionary d ...
- Objective -C学习笔记 之copy(复制)
//自定义类对象实现copy需要遵守copy协议(否则程序崩溃),实现必须实现的协议方法,里面的代码就决定了你的copy是深是浅 #import <Foundation/Foundation.h ...
- Object -C 数组 -- 笔记
// // main.m // Array // // Created by facial on 23/8/15. // Copyright (c) 2015 facial_huo. All ...
- Javascript进阶篇——(数组)笔记整理
什么是数组数组是一个值的集合,每个值都有一个索引号,从0开始,每个索引都有一个相应的值,根据需要添加更多数值. <script type="text/javascript"& ...
- Java数组笔记
# 数组--------内存 # 2017/8/31 15:29:19 ## 数组(容器) ## - 为了存储同种数据类型的多个值 - 概念 - 数组是可以存储同一种数据类型多个元素的集合, ...
- 05 方法与数组笔记【JAVA】
---恢复内容开始--- 1:方法(掌握) (1)方法:就是完成特定功能的代码块. 注意:在很多语言里面有函数的定义,而在Java中,函数被称为方法. (2)格式: 修饰符 返回值类型 方法名(参数类 ...
- C++ 指针二维数组, C++二维指针数组笔记
C++ 二维动态数组 一. 已知第一维 #include <iostream> using namespace std; int main(int argc, char const *ar ...
- java动态数组笔记
动态数组: 在java.lang.reflect包下提供了Array类,包括一系列static方法,通过这些方法可动态的创建数组.给元素赋值.取出元素值等等 //理解数组引用——下面定义的objs数组 ...
- 一些数组笔记(C)
0.数组名是一个指针,存放数组首元素地址,所以使用scanf()接受字符串输入时只用写上数组名,不用加&.数组名是常量不允许修改其值.数组只能定义的时候初始化,后期初始化会被认为是修改数组名的 ...
随机推荐
- 如何禁用wordpress的RSS Feed
RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,早期使用RSS订阅能更快地获取信息,网站提供RSS输出,有利于让用户获取网站内容的最新更新.但随着采集技术的 ...
- LAMP平台部署及应用
环境:http://www.cnblogs.com/zzzhfo/p/5925786.html http://www.cnblogs.com/zzzhfo/p/5934630.html 1.LAMP ...
- linux安装包地址备忘
64位系统安装包: http://mirrors.163.com/centos/5/os/x86_64/CentOS/ 32位系统安装包: http://mirrors.163.com/centos/ ...
- Ngui 五种点击事件实现方式及在3d场景中点透的情况
http://www.unity蛮牛.com/thread-22018-1-1.html ngui作为unity界面插件之一中,无疑是最好用,使用最多的了从自学unity到现在界面一直使用它 由于它的 ...
- inner join ,left join ,right join 以及java时间转换
1.inner join ,left join 与 right join (from 百度知道) 例表aaid adate1 a12 a23 a3表bbid bdate1 ...
- linux下一步一步安装禅道项目管理工具
linux下一步一步安装禅道项目管理工具 因为禅道官网的安装教程实在是太简陋了,所以记录在此. 1.安装apache服务 archlinux下直接 sudo pacman -S apache ubun ...
- 网站标签栏ico设置代码
放在公共文件的header中 <link rel="Shortcut Icon" href="{APP_PATH}favicon.ico" />
- 一致性哈希算法以及其PHP实现
在做服务器负载均衡时候可供选择的负载均衡的算法有很多,包括: 轮循算法(Round Robin).哈希算法(HASH).最少连接算法(Least Connection).响应速度算法(Respons ...
- <a href=”#”>与 <a href=”javascript:void(0)” 的区别
<a href=”#”>中的“#”其实是锚点的意思,默认为#top,所以当页面比较长的时候,使用这种方式会让页面刷新到页首(页面的最上部) javascript:void(0)其实是一个死 ...
- 【leetcode】Search in Rotated Sorted Array
Search in Rotated Sorted Array Suppose a sorted array is rotated at some pivot unknown to you before ...