NSRangeException:“超出边界”错误

时间:2010-09-07 13:21:30

标签: iphone exception

我正在数据库中处理基于sqlite的应用程序,其中索引2处有一个字段。

在此我没有保存任何数据,但是当我在Firefox上运行该数据库时,我看到索引2的值为-2147483648,当我尝试在子视图中添加新单元格时:

return [appDelegate.items count]+1;

我收到此错误:

  

由于未捕获的异常'NSRangeException'而终止应用程序,原因:'*** - [NSCFArray objectAtIndex:]:index(2)超出边界(2)'

索引2处的变量是十进制类型: -

NSInteger n = i.need;

和...

sqlite3_bind_int(updStmt, 2, n);

...是索引2中的默认值。这是否必须对异常执行任何操作?如果是,我怎么能纠正它,如果不是,那为什么会发生呢?

1 个答案:

答案 0 :(得分:0)

我认为您在插入或阅读时使用的是访问说明符%@而不是%d ... 使用 intValue 进行重新搜索或插入。