黑马视频学习笔记-FOUNDATION-Array集合
这一节,我们说说NSArray和NSMutableArray这两个集合
1、NSArray是不可变数组,而NSMutableArray是可变数组
2、OC中有一个快捷创建Array集合的方法,@[@"xxx",@"ddd"];但是需要注意的是,这里产生的是NSArray,而不是NSMutableArray
3、NSArray的创建
NSArray *array = [NSArray arrayWithObject:@"jack"];
4、nil是数组元素结束标记
NSArray *array = [NSArray arrayWithObjects:@"jack",@"rose",nil];
5、NSArray的快速创建
NSArray *array = @[@"abc",@"123"];
6、访问元素
[array objectAtIndex:1];
//效果如同
array[0];
这个算作编译器特性
7、对于NSMutableArray还有如下的方法
添加元素:
[array addObject:@"abc"];
8、
[array removeObjectAtIndex:0];
[array removeObject:@"abc"];
[array removeAllObejcts];
9、注意点:这两种都不能存放nil
这两种只能存放OC对象,不能存放非OC对象类型
10、遍历
第一种,使用for循环,利用i作为角标,来读取
for(int i = 0;i<array.count;a++)
{array[i];
}
第二种:利用增强for循环
for(xxx in xxx)
{}
第三种:
[array enumerateObjectsUsingBlock:^(id obj,NSUInteger idx,BOOL *stop)]
{}
排序数组对象
NSArray *unsortedStrings = @[@"gammaString",@"alphaString",@"betaString"];
NSArray *sortedStrings = [unsortedStrings sortedArrayUsingSelector:@selector(compare:)];
变异字符串
if([immutableArray count] > 0)
{id string = immutableArray[0];if([string isKindOfClass:[NSMutableString class]]){[string appendString:@" World!"];}
}
替换某个位置的对象
[mutableArray replaceObjectAtIndex:0 withObject:@"epsilon"];
黑马视频学习笔记-FOUNDATION-Array集合相关推荐
- 黑马视频学习笔记HTML上
1.html简介 1.网页的基本组成 网站是网页集合:网页通常是html格式的文件 网页是构成网站的基本元素:网页由图片.视频.链接.视频声音等元素组成 2.html是超文本标记语言,由标签组成 国内 ...
- 黑马视频学习笔记- 一些杂项记载
1.在视频中,反复强调的一点就是一定要养成写注释的习惯,不管是面试,工作都要写注释,注意点为:注释->格式->功能 2.动态数据和静态数据相互转换的例子: 动->静:下载 静-> ...
- 黑马视频学习笔记-字符串
1.字符串可以理解为是一个字符数组,但是有一些区别,他们的区别在于,字符串在末尾的地方,会有一个\0字符,来标记字符串的结束.这个字符非常重要,如果没有这个字符,会导致用指针访问字符串的时候,内存越界 ...
- 黑马视频学习笔记-for循环
1.格式 for(语句1;条件;语句2) {循环体; } 语句1:初始化语句 语句2:增量语句,当执行完一次循环后,就执行增量语句 2.语句1在for循环中,只会执行一次 3.每执行一次循环体后,语句 ...
- 黑马视频学习笔记-OC-继承
1.首先看一下,继承的好处: 1)抽取重复代码 2)建立类之间的关系 3)子类可以拥有父类的所有成员变量和方法 注意点:基本上所有的类的根类是NSObject 2.重写:子类重新实现父类中的某个方法, ...
- 尚硅谷+黑马程序员MongoDB视频学习笔记(一)
本学习笔记是来源于学习B站上的尚硅谷和黑马的MongoDB教学视频而做的知识总结. 一.数据库(Database) 数据库是按照数据结构来组织.存在和管理数据的仓库.说白了,数据库就是存在数据的仓库. ...
- 【168天】黑马程序员27天视频学习笔记【Day07】
[168天]黑马程序员27天视频学习笔记[Day07] 叨逼叨两句 决定了,我会记住这一天! 07-01:构造方法Constructor概述和格式 构造方法概述和作用 给对象的数据(属性)进行初始化. ...
- Unity2019 从零到精通视频学习笔记
Unity2019 从零到精通视频学习笔记 该文对Unity2019 做简单的自学了解,并做相应的笔记 文章目录 Unity2019 从零到精通视频学习笔记 一.C#基础回顾 基本数据结构 面向对象数 ...
- JAVA视频学习笔记-马士兵(七)
`JAVA视频学习笔记-马士兵` 容器_API_Collection1(20200622) 容器_Collection2(20200623) 容器_Iterator(20200624) 容器_Enha ...
最新文章
- access下如何配置两个vlan_【新华三】网络工程师 H3C如何配置VLAN-trunk 二层隔离技术...
- 线上的java环境_Linux部署JavaWeb线上环境
- Kth Largest Element in an Array
- 学习Berkeley DB- 入门
- Android开发笔记(一百一十五)设计工具
- 802. 区间和(离散化)
- “SCSA-S学习导图+”系列:文件解析
- MySQL卸载干净检查_MySQL数据库卸载干净处理
- ipv4和计算机地址是什么意思,什么是IP地址?IPV4和IPV6又有什么区别?
- C语言进阶(一):宏函数内定义结构体
- 网页编程设计常用的各类标签
- [渝粤教育] 天津师范大学 中学地理教学设计 参考 资料
- Netty内置处理器整理
- 4-MATLAB APP Design-文件选择函数uigetfile的使用
- 对接钉钉审批_钉钉审批对接是什么-和钉钉审批对接相关的问题-阿里云开发者社区...
- 从浅到深,数据分析人的学习书籍!
- java模拟考试系统,java模拟考试软件下载
- 面试中可以用到的高级技巧
- 创视通录播服务器怎么修改系统时间,教学录播系统的历史
- android tf 读写,Android对于外置TF卡的读写操作(权限获取)