索引超出NSString的范围

时间:2012-11-02 04:41:06

标签: objective-c ios

这是我的日志...

*由于未捕获的异常'NSRangeException'而终止应用程序,原因:'* - [__ NSCFConstantString substringToIndex:]:范围或索引越界'

我不知道该怎么办...... 任何人都可以帮我解决问题吗?

2 个答案:

答案 0 :(得分:3)

字符串中的每个字符(例如@"ABCD")都有一个关联的索引。在我的例子中,'A'将在索引0,'B',在索引1,'C'在索引2处等。

字符串的length(例如NSUInteger stringLength = myStringInstance.length;)等于字符串中的字符总数。字符串@"ABCD"的长度为4.

声明NSString *mySubString = [@"ABCD" substringToIndex:2];会使mySubString等于@"AB"。您不能尝试访问大于或等于字符串长度的索引 - 例如NSString *myOtherSubString = [@"ABCD" substringToIndex:4];会崩溃。

希望这有帮助。

答案 1 :(得分:0)

这可能是其他一些问题的诊断。

你可能在程序的其他地方管理不善。

这可能导致您的字符串被另一个字符串“替换”。