15.2.4 所有对象到哪里去了

代码清单15-4和15-5处理各种NSString和NSMutableString方法生成并返回的字符串对象。本章开始讨论过,你不负责释放这些对象使用的内存,该对象的创建者负责释放。推测起来,所有被创建者添加到自动释放池的对象,将在系统释放池时全部释放。然而应该意识到,如果开发的程序中创建了许多临时的对象,那么这些对象使用的内存就会累积起来。在这种情形下,可能需要采取不同的策略,允许在程序执行过程中释放内存,而不只是在程序结尾释放。这个概念将在第17章中描述。现在,只需认识到在执行这个程序时,这些对象占用的内存会扩张。

NSString类包含100多个方法,它可以用来处理不可变的字符串对象。表15-2总结了一些更常用的方法,表15-3列出了NSMutableString类提供的一些附加方法。其他一些NSString方法(例如处理路径名和将文件的内容读入一个字符串)将在本书剩余部分进行介绍。

在表15-2和15.3中,url是一个NSURL对象,path是指明文件路径的NSString对象,nsstring是一个NSString对象,i是表示字符串中有效字符数的NSUInteger值,enc是指明字符编码的NSStringEncoding对象,err是描述所发生错误的NSError对象,size和opts是NSUInteger, range是指示字符串中有效范围的NSRange对象。

15.2.4 所有对象到哪里去了 - 图1

表15-3中的方法创建或修改NSMutableString对象。

15.2.4 所有对象到哪里去了 - 图2

NSString对象广泛地用于本文的其余部分。如果需要把字符串分解为语言符号,可以查看Foundation的NSScanner类。