索引路径行返回为奇怪的数字导致崩溃

时间:2013-07-10 20:18:13

标签: int didselectrowatindexpath

我有一个全局变量,我从表格视图写入:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

我将全局eventID变量([NSNumber numberWithInt])设置为所选行:

[[GlobalData sharedGlobalData]setEventId:[NSNumber numberWithInt:indexPath.row]];

然后我使用此变量来访问数组中的索引。然而,我得到奇怪的结果,当我NSLog事件ID变量时,它出现了" 0",这是正确的,我选择表中的第一行。

但是当我使用eventID变量作为索引处的对象时:

event = [[venue venueEventList]objectAtIndex:[[GlobalData sharedGlobalData]eventId]];

应用程序崩溃时出现以下错误:

*由于未捕获的异常终止应用' NSRangeException',原因:' * - [__ NSArrayM objectAtIndex:]:索引163756576超出边界[0 .. 4] ' * 第一次抛出调用堆栈: (0x1b8f012 0x1600e7e 0x1b310b4 0x5139 0x6261c7 0x626232 0x6264da 0x63d8e5 0x63d9cb 0x63dc76 0x63dd71 0x63e89b 0x63ee93 0xf3e83f7 0x63ea88 0x99ae63 0x98cb99 0x626dd2 0xf3e012c 0x32343 0x5f4285 0x5f44ed 0xffe5b3 0x1b4e376 0x1b4de06 0x1b35a82 0x1b34f44 0x1b34e1b 0x19d87e3 0x19d8668 0x544ffc 0x29cd 0x28f5)

当然,eventID变量为0,所以为什么要在索引163756576

访问该数组

任何帮助都会很棒!

1 个答案:

答案 0 :(得分:0)

好吧显然是一个完全愚蠢的问题,我显然再没有足够的睡眠,我没有得到nsnumber的int值,因此获得了长值。问题由以下问题解决:

[variable intValue];