iphone - substringWithRange收到一个奇怪的错误

标签 iphone objective-c ios

我对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/

相关文章:

ios - Inout 参数不允许互相使用别名

ios - CIDetector featuresInImage 返回 0

iphone - 游戏中心不可用时如何同步分数?

iphone - 使用 iPhone 应用程序在 Google+ 中分享图片

iphone - UIButton 的按钮文本如何加下划线?

objective-c - MKMapView 的折线不起作用

ios - 更好的是,委托(delegate)或单例在 View Controller 之间传递数据 - Objective-C

iphone - objective-c UIAlert 按钮不起作用

iphone - 将 UITableViewController 与小型表格一起使用?

ios - 从 NSData 转换回来时,字符串为零