这一节,我们说说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集合相关推荐

  1. 黑马视频学习笔记HTML上

    1.html简介 1.网页的基本组成 网站是网页集合:网页通常是html格式的文件 网页是构成网站的基本元素:网页由图片.视频.链接.视频声音等元素组成 2.html是超文本标记语言,由标签组成 国内 ...

  2. 黑马视频学习笔记- 一些杂项记载

    1.在视频中,反复强调的一点就是一定要养成写注释的习惯,不管是面试,工作都要写注释,注意点为:注释->格式->功能 2.动态数据和静态数据相互转换的例子: 动->静:下载 静-> ...

  3. 黑马视频学习笔记-字符串

    1.字符串可以理解为是一个字符数组,但是有一些区别,他们的区别在于,字符串在末尾的地方,会有一个\0字符,来标记字符串的结束.这个字符非常重要,如果没有这个字符,会导致用指针访问字符串的时候,内存越界 ...

  4. 黑马视频学习笔记-for循环

    1.格式 for(语句1;条件;语句2) {循环体; } 语句1:初始化语句 语句2:增量语句,当执行完一次循环后,就执行增量语句 2.语句1在for循环中,只会执行一次 3.每执行一次循环体后,语句 ...

  5. 黑马视频学习笔记-OC-继承

    1.首先看一下,继承的好处: 1)抽取重复代码 2)建立类之间的关系 3)子类可以拥有父类的所有成员变量和方法 注意点:基本上所有的类的根类是NSObject 2.重写:子类重新实现父类中的某个方法, ...

  6. 尚硅谷+黑马程序员MongoDB视频学习笔记(一)

    本学习笔记是来源于学习B站上的尚硅谷和黑马的MongoDB教学视频而做的知识总结. 一.数据库(Database) 数据库是按照数据结构来组织.存在和管理数据的仓库.说白了,数据库就是存在数据的仓库. ...

  7. 【168天】黑马程序员27天视频学习笔记【Day07】

    [168天]黑马程序员27天视频学习笔记[Day07] 叨逼叨两句 决定了,我会记住这一天! 07-01:构造方法Constructor概述和格式 构造方法概述和作用 给对象的数据(属性)进行初始化. ...

  8. Unity2019 从零到精通视频学习笔记

    Unity2019 从零到精通视频学习笔记 该文对Unity2019 做简单的自学了解,并做相应的笔记 文章目录 Unity2019 从零到精通视频学习笔记 一.C#基础回顾 基本数据结构 面向对象数 ...

  9. JAVA视频学习笔记-马士兵(七)

    `JAVA视频学习笔记-马士兵` 容器_API_Collection1(20200622) 容器_Collection2(20200623) 容器_Iterator(20200624) 容器_Enha ...

最新文章

  1. access下如何配置两个vlan_【新华三】网络工程师 H3C如何配置VLAN-trunk 二层隔离技术...
  2. 线上的java环境_Linux部署JavaWeb线上环境
  3. Kth Largest Element in an Array
  4. 学习Berkeley DB- 入门
  5. Android开发笔记(一百一十五)设计工具
  6. 802. 区间和(离散化)
  7. “SCSA-S学习导图+”系列:文件解析
  8. MySQL卸载干净检查_MySQL数据库卸载干净处理
  9. ipv4和计算机地址是什么意思,什么是IP地址?IPV4和IPV6又有什么区别?
  10. C语言进阶(一):宏函数内定义结构体
  11. 网页编程设计常用的各类标签
  12. [渝粤教育] 天津师范大学 中学地理教学设计 参考 资料
  13. Netty内置处理器整理
  14. 4-MATLAB APP Design-文件选择函数uigetfile的使用
  15. 对接钉钉审批_钉钉审批对接是什么-和钉钉审批对接相关的问题-阿里云开发者社区...
  16. 从浅到深,数据分析人的学习书籍!
  17. java模拟考试系统,java模拟考试软件下载
  18. 面试中可以用到的高级技巧
  19. 创视通录播服务器怎么修改系统时间,教学录播系统的历史
  20. android tf 读写,Android对于外置TF卡的读写操作(权限获取)

热门文章

  1. Win10更新导致无法使用局域网共享打印机最佳解决方案
  2. LIKE IS = 的区别
  3. 【TeamViewer丨远程控制软件】上海道宁助您远程访问和即时远程支持,提高远程工作团队的生产力
  4. IE访问HTTPS链接下载文件,IE提示无法下载
  5. web服务启动不了解决流程
  6. Ubuntu下安装拳皇97
  7. 数字电路基础知识系列(一)之LC滤波器基础知识
  8. matlab计算PN序列的本原多项式
  9. 快解析结合象过河erp
  10. HDFS追加文件内容和覆盖文件的命令示例