【发布时间】:2013-07-03 18:24:35
【问题描述】:
我在 ViewDidLoad 中有一个这样声明的 NSArray
animalz = [NSArray arrayWithObjects:@"rabbit",@"deer",@"ox", @"horse", @"cow", nil]; 我写了一个 UIView 子类,它接受一个 NSString 并重新排列它。用户按下一个按钮,与该按钮关联的数字是我需要的数组中的数字(例如,如果数字是 3,那么我需要值“horse”,但如果按钮是 4,那么我需要“cow” ");目前这些数字以 long int 的形式出现,我无法在 nsarray 中获得相应的值。我试着做:
selectedani //this is the long int that represents the button
int indexani = [animalz objectAtIndex:selectedani];
NSString *anistr = [NSString stringWithFormat:@"%i",indexani];
[self rearrange:btistr];
这不会给我任何编译器警告或错误,但是当我按下按钮时,应用程序会崩溃。我做错了什么,我该如何解决?
【问题讨论】:
-
崩溃时的调用堆栈是什么?调试器控制台的输出是什么?
-
这是完全错误的:` int indexani = [animalz objectAtIndex:selectedani];` objectAtIndex 将始终返回一个对象指针(或 nil)。
-
@AdamRosenfield 错误是:线程 1:程序接收到的信号:EXC_BAD_ACCESS