ObjectiveC基础库详解:NSString, NSMutableString与NSArray

需积分: 10 1 下载量 29 浏览量 更新于2024-07-28 收藏 164KB PDF 举报
"ObjectiveC 最经典最全的基础库" Objective-C是Apple开发的一种面向对象的编程语言,广泛用于iOS和macOS应用开发。本资源主要介绍了Objective-C中最基础且常用的类库,包括NSString、NSMutableString和NSArray。这些类库是构建Objective-C应用程序的基础。 1. NSString NSString是Objective-C中处理不可变字符串的类,它提供了多种创建和操作字符串的方法: - 创建常量字符串:通常使用`@""`语法来创建常量字符串,这是Objective-C中的字面量表示。 - 创建空字符串:可以使用`[NSString string]`创建一个空字符串,并后续进行赋值。 - initWithString方法:用于初始化一个NSString对象,它比直接使用`=`赋值更快。 - initWithCString方法:用于从C风格的字符数组创建NSString。 - 格式化字符串:通过`+[NSString stringWithFormat:]`方法创建带有占位符的格式化字符串。 - 创建临时字符串:`-[NSString stringWithFormat:]`也可以用于创建临时字符串。 - 从文件读取字符串:使用`-initWithContentsOfFile:`方法从文件加载字符串。 - 写字符串到文件:通过`-writeToFile:atomically:`方法将字符串写入文件。 - 比较字符串: - C方式:使用`strcmp`函数进行比较。 - Objective-C方式:`isEqualToString:`检查字符串是否相等。 - `compare:`方法:返回NSComparisonResult,表示字符串间的顺序关系。 - NSOrderedSame:表示两个字符串内容相同。 - NSOrderedAscending和NSOrderedDescending:表示一个字符串在字典顺序上小于或大于另一个。 - NSCaseInsensitiveSearch:进行不区分大小写的比较。 - 在字符串中搜索子串:使用`-rangeOfString:`或`-indexOfString:`找到子串的位置。 - 抽取子串:使用`-substringWithRange:`或`-substringFromIndex:`和`-substringToIndex:`获取字符串的一部分。 2. NSMutableString NSMutableString是可变字符串,允许在创建后修改字符串内容: - 分配容量:`-initWithCapacity:`预分配空间以提高效率。 - 添加字符:使用`-appendString:`或`-appendFormat:`在字符串末尾添加内容。 - 删除字符:`-deleteCharactersInRange:`根据范围删除字符。 - 插入字符串:`-insertString:atIndex:`在指定位置插入字符串。 - 替换空符:`-replaceOccurrencesOfString:withString:options:range:`将特定字符串替换为另一个字符串。 - 替换字符:`-replaceCharactersInRange:withString:`在指定范围内替换字符。 - 检查前缀和后缀:`-hasPrefix:`和`-hasSuffix:`判断字符串是否以指定字符串开始或结束。 - 查找包含:`-containsString:`检查字符串中是否包含另一个字符串。 3. NSArray NSArray是不可变数组,存储固定数量的对象,不支持动态添加或删除元素: - 创建数组:`+array`或`+arrayWithObjects:count:`来创建数组。 - 复制数组:使用`-initWithArray:`或`-setArray:`将一个数组的元素复制到另一个数组。 - 快速枚举:`for (id obj in array) {...}`使用快速枚举遍历数组元素。 - Deepcopy:在Objective-C中,深拷贝意味着创建一个新的数组,其中包含原始数组所有元素的副本,每个元素如果是可变类型,也会被深拷贝。 这些基本类库构成了Objective-C程序的基础结构,熟练掌握它们对于任何Objective-C开发者来说都至关重要。通过理解并运用这些知识,开发者可以高效地创建、操作字符串和数组,从而构建功能丰富的iOS和macOS应用程序。