objective-C学习笔记(七) 字符串处理

字符串NSString

NSString 是一个Unicode编码,16位字符的字符序列。

NSString 是一个类,拷贝时需要注意。

初始化方法:字面量初始化、初始化器、工厂方法。

NSString 拥有恒定性,所有的操作无法更改本身,如有更改,都是返回新值的形式。

   NSString共享机制,在字符串内容相同的时候,不同的字符串指针指向同一个地址。(字面常量初始化的情况)

NSMutableString 可变性String

 NSMutableString是NSString的子类

 NSMutableString不具有共享机制

 NSMutableString并不是在原有内存上直接增长,而是重新分配一个更大或更小的缓存容量存放字符。

 NSMutableString的缓存容量与增长

   字符串初始化时,可以手动分配一个缓存容量capacity[NSMutableString stringWithCapacity:100]

   当字符串增长时,如果实际需求大于capacity,capacity就会以二倍的方式指数增长:

       分配新的堆内存 2*capacity

       将原来堆内存上的内容拷贝到新内存

       释放原来的堆内存。

  最佳实践:估计号capacity,预先分配好一定容量,避免以后capacity的增长(增长的代价太大

  常用操作:

  NSString:

    访问字符串: 获取字符串字符、字符串长度、字面量、大小写转换。

    查询字符串: 定位子串、获取子串、是否包含子串、查询字符集。

    其他操作:比较字符串、替换字符串、分解字符串。

  NSMutableString:

   添加字符串、删除字符串、修改字符串

 建议:去面试之前,可以整理归纳一下常用的这些字符串操作以及常用的各种OBJC函数。

  

posted @ 2016-03-24 22:11  dom075  阅读(154)  评论(0编辑  收藏  举报