好的,这是我程序中的一种方法,它不断给出 EXC_BAD_ACCESS 错误并崩溃。我指出了下面的行。questionsShown 是一个读写属性,它指向一个 NSMutableArray,我在程序的较早位置初始化了一个容量为 99 的 NSMutableArray。当我调试时,就分配的属性而言,一切看起来都很正常。我认为内存管理肯定存在一些问题,但我很难找到问题所在。提前感谢您的帮助。
@synthesize questionList;
@synthesize questionLabel;
@synthesize questionsShown;
-(IBAction)next{
int numElements = [questionList count];
int r;
if (myCount == numElements){
[questionLabel setText:@"You have seen all the questions, click next again to continue anyways."];
[questionsShown release];
questionsShown = [[NSMutableArray alloc] initWithCapacity:99];
myCount = 0;
}
else {
do {
r = rand() % numElements;
} while ([questionsShown indexOfObjectIdenticalTo:r] != NSNotFound);
NSString *myString = [questionList objectAtIndex:(NSUInteger)r];
[questionLabel setText:myString];
myCount++;
[questionsShown addObject:r]; //results in crash with message EXC_BAD_ACCESS
myCount++;
}
}