-3

我是第一次学习原生 iOS 开发,遇到了 struct NSRange。我来自 Java 背景,所以当您可以只使用属于NSString类的一部分的子字符串方法时,我并没有真正看到使用范围结构的原因。使用范围结构与使用非范围NSString子字符串方法相比有什么优势。

谢谢!

编辑:看起来我正在考虑子字符串方法:substringFromIndex:substringToIndex:. 考虑到这些方法的不灵活性(即不能同时选择起点和终点)使得范围结构实例更加必要。虽然我猜你也可以嵌套这两种方法来达到相同的结果。

编辑 2:示例。

非范围子字符串方法示例:

NSString *str = @"This is a string.";

NSString *substr = [str substringToIndex:7];

NSString *substr2 = [str substringFromIndex:7];

范围子字符串方法示例:

NSString *substr3 = [str substringWithRange:NSMakeRange(5, 5)];
4

1 回答 1

3

因为基于范围的方法提供了更多的灵活性,并且它们也很容易与所有NSString搜索方法(大量使用范围)一起使用。一般来说,如果您要创建一个子字符串,您需要知道从哪里开始或结束,并且该信息可能来自搜索,因此您有一个范围。

于 2013-05-12T22:57:14.693 回答