OC基础数据类型-NSArray
1、数组的初始化
NSArray *array = [[NSArray alloc] initWithObjects:@"One", @"Two", @"Three", @"Four", nil];
数组的元素可以是任意的对象,不局限于字符串;
数组中装有元素的地址;
NSLog(@"%@", array); //打印数组,实际上是打印数据的每一个对象。因为数组重写的Description方法
遍历数组中的对象
方法1:枚举器法
NSEnumerator *enumerator = [array objectEnumerator];
id obj;
while (obj = [enumerator nextObject]) {
NSLog(@"%@", obj);
}
方法2:快速枚举法
for(id obj in array){
NSLog(@"%@", obj);
}
方法3:使用i值遍历
NSUInteger length = [array count]; //返回数组元素的个数
obj = [array objectAtIndex:]; //返回单个元素的地址
NSInteger i;
for(i = ; i<[array count];i++){
NSLog(@"%@", [array objectAtIndex:i]);
}
2、可变数组
NSMutableArray *array = [[NSMutableArray alloc] init];
//往可变数组中添加元素
[array addObject:@"one"];
[array addObject:@"two"];
[array addObject:@"three"];
交换两个数组的位置
[array exchangeObjectAtIndex: withObjectAtIndex:];
删除元素,remove
[array removeObject:@"one"];
[array removeObjectAtIndex:];
[array removeAllObjects];
同时遍历和删除数组元素的时候,需要逆序;否则,会出现问题。
NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:@"one",@"two",@"three", nil];
//逆序
NSEnumerator *enumerator = [array reverseObjectEnumerator];
NSString *str;
while (str = [enumerator nextObject]) {
[array removeLastObject];
NSLog(@"%@",str);
}
NSLog(@"%@",array);
3、数组和字符串的联合使用
将一个字符串逆序输出
NSString *str = @"I am a so bad man";
NSArray *array = [str componentsSeparatedByString:@" "]; //用空格分割字符串
NSMutableArray *mutableArray = [[NSMutableArray alloc] init];
NSEnumerator *enumerator = [array reverseObjectEnumerator];
NSString *obj;
while (obj = [enumerator nextObject]) {
[mutableArray addObject:obj];
}
NSString *newStr = [mutableArray componentsJoinedByString:@" "]; //用指定的字符串,拼接字符串
结题!!!
OC基础数据类型-NSArray的更多相关文章
- OC基础--数据类型与表达式
前言 做iOS开发有3年了,从当初的小白到现在,断断续续看过很多资料,之前也写过一些博文来记录,但是感觉知识点都比较凌乱.所以最近准备抽时间把iOS开发的相关知识进行一个梳理,主要分为OC基础.UI控 ...
- OC基础数据类型-NSNumber
1.NSNumber:专门用来装基础类型的对象,把整型.单精度.双精度.字符型等基础类型存储为对象 //基本数据类型 //专门用来装基础类型的对象 NSNumber * intNumber = [[N ...
- OC基础数据类型-NSSet
1.集合:集合(NSSet)和数组(NSArray)有相似之处,都是存储不同的对象的地址:不过NSArray是有序的集合,NSSet是无序的集合.集合是一种哈希表,运用散列算法,查找集合中的元素比数组 ...
- 【转】 OC基础数据类型-NSSet
原文 : http://www.cnblogs.com/GISerYang/p/3340937.html 1.集合:集合(NSSet)和数组(NSArray)有相似之处,都是存储不同的对象的地址:不过 ...
- OC基础数据类型-NSString
1.字符串的初始化 //字符串的初始化 NSString *str = @"Hello world!"; NSString *str2 = [[NSString alloc] in ...
- OC基础数据类型-NSData-NSMutableData-NSString
NSData和NSMutableData存储的是二进制数据,在文件操作,网络,以及核心图形图像中使用较广泛.NSData创建后不可以再修改,NSMutableData可以再次修改. 1.NSStrin ...
- OC基础数据类型-NSData
1.NSData,数据,当我们需要把一些信息写入到文件里或发送到网络上,我们需要把这些数据转换下,变成纯粹的0.1字符流 1 NSString * str = @"hello, world! ...
- OC基础数据类型-NSValue
1.NSValue:将指针等复杂的类型存储为对象 struct sct { int a; int b; }sctt; NSValue * value = [[NSValue alloc] initWi ...
- OC基础数据类型-NSDictionary
1.字典NSDictionary 字典与数组的区别:数组讲究顺序,而字典可以快速帮助我们找到数据,数据是我们的目的,键是我们的手段 NSDictionary *dict = [[NSDictionar ...
随机推荐
- jQuery validate 设置失去焦点就校验
<script type="text/javascript"> $(function(){ var flag = $("#addForm").val ...
- 【Docker】制作一个支持SSH终端登录的镜像
首先从官方或者docker.cn的镜像库中pull下来ubuntu镜像: docker pull ubuntu 现在用命令查看一下pull下来的ubuntu镜像: docker images 关于如何 ...
- unity代码设置鼠标样式
public class Main : MonoBehaviour { public Texture2D cursorTexture;//图片 public CursorMode cursorMode ...
- Go在windows10 64位上安装
一.安装 1.下载安装包http://www.golangtc.com/download,这是国内的地址,也直接去官网下载. 2.选择适合自己的版本,这里我选择安64位装版go1.9.2.window ...
- 使用union合并查询
语法: select …..from 表1 union select ……from 表2 2. 合并查询的特点 ① 合并的表中的列的个数.数据类型必须相同或向兼容. ② union默认去掉重复值,如果 ...
- moment常用操作
1.返回当前日期截止时的时间戳: post.createtime = moment().unix(); let stime = moment(moment.unix(moment().unix()). ...
- crontab 设置服务器定期执行备份工作
基本格式 : * * * * * command 分 时 日 月 周 命令 第1列表示分钟1-59 每分钟用*或者 */1表示 第2列表示小时1-23(0表示0点) 第3列表示日期1-31 第4列表示 ...
- JavaScript(JS)计算某年某月的天数(月末)
方法1 /** * 获取某年月的天数 * @param year 年 * @param month 月(0-11) * @returns {number} 天数 */ var getDaysOfMon ...
- @media print样式 关于table断页
<html> <head> <style> @media print { table { page-break-after:auto } tr { page-bre ...
- Safari无痕模式下,storage被禁用问题
前言 Safari开启无痕模式后,localStorage和sessionStorage为空,对其进行set操作也会报错,也就是说这种情况下,storage是被禁止使用了.接下来说一下解决方法. 解决 ...