大牛看看这个错误__NSCFString deleteCharactersInRange:]: Range or index out of bounds'

baidu_32433239 2015-10-30 03:17:59
下面上代码

NSUserDefaults *userdefault = [NSUserDefaults standardUserDefaults];
NSString *stuffId = [userdefault objectForKey:SStuffID];
NSMutableString *attrType = [NSMutableString string];
if ([self.idDictionary allValues] != 0) {
for (NSInteger i = 0; i < [self.idDictionary allValues].count; i++) {
[attrType appendString:[self.idDictionary allValues]];
[attrType appendString:@","];
}
[attrType deleteCharactersInRange:NSMakeRange(attrType.length -1, 1)];
}
NSLog(@"-=-=-=--=-=%@",stuffId);


错误
2015-10-30 15:00:48.277 yqApp[14197:1321607] *** Terminating app due to uncaught exception 'NSRangeException', reason: '-[__NSCFString deleteCharactersInRange:]: Range or index out of bounds'
*** First throw call stack:
(0x24350f87 0x31973c77 0x24350ecd 0x2430cc0d 0x28abbd 0x28cba3 0x27800497 0x27963fcd 0x27800497 0x27800439 0x277eb04d 0x277ffe69 0x277ffb43 0x277f9451 0x277cfcc5 0x27a43513 0x277ce707 0x24317807 0x24316c1b 0x24315299 0x24262db1 0x24262bc3 0x2b5c7051 0x2782ea31 0x18889d 0x31f0faaf)
libc++abi.dylib: terminating with uncaught exception of type NSException

执行完for循环,进入 [attrType deleteCharactersInRange:NSMakeRange(attrType.length -1, 1)];后代码报错

说是什么越界,但是怎么操作呢



...全文
375 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jimmy808126 2015-11-05
  • 打赏
  • 举报
回复
[attrType appendString:[self.idDictionary allValues]]; 这个[self.idDictionary allValues]是array吧 在吗作为string append 了?
zhongaiteleixi 2015-11-03
  • 打赏
  • 举报
回复
剪切字符串的时候越界。。。。字面的意思
唐云T_yun 2015-11-03
  • 打赏
  • 举报
回复
上文可敢完整贴出来

29,041

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧