我对substringWithRange函数有一个奇怪的问题。

我有一个长度为22的NSString。

当我这样做时:

NSString *result = [myString substringWithRange:NSMakeRange(3, 21)];

一切都很好。但是,当我尝试从中间获取一些东西时,例如:
NSString *result = [myString substringWithRange:NSMakeRange(11, 14)];

它给出了超出范围的异常。

'NSRangeException',原因:'*-[NSCFString substringWithRange:]:范围或索引超出范围'

那怎么了

最佳答案

NSRange不是“从索引到索引”。是“从索引到长度”。

为什么第一个可行?我不知道。我猜实际上您的字符串不是22个字符长,而是24个字符。

关于iphone - substringWithRange收到一个奇怪的错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5056930/

10-09 09:19