023-Foundation框架(上)-OC笔记

学习目标

1.【理解】NSString

2.【了解】NSString的常用方法

3.【了解】NSRange

4.【了解】NSMutableString

5.【掌握】NSArray

6.【了解】NSArray的常用方法

7.【掌握】遍历数组的三种方式

8.【了解】NSArray与字符串

9.【掌握】NSMutableArray

一、NSString

在OC中,使用NSString类型的对象来保存一个字符串对象的地址,OC字符串必须要使用 @ 前缀。NSString其实是Foundation框架中的一个类,字符串以NSString对象的形式保存。如果是以字符串常量去初始化一个NSString指针,那么这个字符串常量是存储在常量区之中的。如果是以调用NSString的类方法来得到一个字符串对象,这个对象就创建在堆区。并且一旦在内存中(无论堆区、常量区)创建了一个字符串对象,这个字符串对象的字符内容就无法修改。

二、NSString的常用方法

从文件中读取或写入字符串

字符串的比较和判断

字符串的截取,从一个字符串中,取出一个子字符串来

字符串的替换,将字符串中符合要求的子串替换成另外的字符串

将字符串转为一些基本数据类型

C语言字符串和OC字符串互转

三、NSRange

NSRange是Foundation框架中比较常用的结构体,一个NSRange结构体变量表示一段范围。通常情况下,用来表示一个子字符串在主字符串中的范围。它的定义如下:

四、NSMutableString

NSString字符串的特点是恒定性,一旦创建字符串对象在内存之中,这个字符串对象的内容就无法更改。当我们重新为一个 NSString指针变量赋值一个字符串的时候,会先在常量区查找是否有相同内容的字符串,如果有就直接指向,如果没有才会创建字符串。那么这样就会有一个问题,当我们做大批量的字符串拼接的时候,就会特别的消耗性能和时间。

NSString的硬伤

Foundation提供了一个NSString的子类NSMutableString,NSMutableString对NSString做的最大的扩展就是,NSMutableString对象用来存储字符串的时候,这个对象中存储的字符串内容是可以更改的。这样在我们做字符串拼接的时候,就不会产生一个又一个的字符串对象,而是直接修改这个NSMutableString对象了。

解决NSString的硬伤

总结:

平时我们使用字符串的时候还是尽量使用NSString,因为NSString的恒定性,当我们同一个字符串多次使用的时候,效率就很高。当我们做大批量拼接字符串的时候才用NSMutableString。

五、NSArray

C语言中的数组特点:

元素的类型一致,创建一个C语言的数组,这个数组中可以存储的数据的元素的类型必须是一致的。C语言数组的长度是固定的,一旦创建数组,就无法改变。C语言数组的元素无法删除、新增。OC中新增了数组类NSArray,在C语言的数组的基础之上做了很大的增强。

NSArray数组的特点:

1.只能存储OC对象,而且是可以存储任意OC对象

2.这些对象在NSArray数组中是有序存放,一个挨一个的存储。

3.NSArray数组只能存储OC对象,不能存储非OC对象。所以基本数据类型等非OC对象类型无法存储。

4.NSArray数组是不可变的,一旦初始化完毕之后,它里面的元素就永远是固定的,无法删除和新增元素

六、NSArray的常用方法

七、遍历数组的三种方式

第一种,遍历数组,使用常规for循环

第二种,遍历数组,使用增强for循环

第三种,遍历数组,使用block

八、NSArray与字符串

九、NSMutableArray

NSMutableArray是NSArray的子类,所以他具备NSArray的所有特点。唯一区别就是NSMutableArray是一个可变数组,存储在该数组中的元素可以删除,可以动态的新增元素

六阿哥

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: