if ([diamonds count] == 0) {
[self toggleWinLevel];
}
Когда diamonds - это NSMutableArray, а toggleWinLevel - это метод экземпляра, если я запустил это приложение, оно выйдет из строя в этой строке с EXC_BAD_ACCESS:
if ([diamonds count] == 0) {
Это определенно связано с моим массивом, поскольку это продолжается, даже когда я назначаю int или NSUInteger или NSNumber для моего счетчика массива. Мой NSMutableArray выделен и инициализирован. В чем проблема?
ОБНОВЛЕНИЕ 1:
Я выделил и инициализировал его в этом методе, который ДЕЙСТВИТЕЛЬНО вызывается, и у меня есть NSLog, который регистрируется в консоли для проверки:
-(void)setUpObjects {
NSLog(@"Setting Up Objects"); // This is printed in my console
[levelNumberLabel setHidden:YES];
diamonds = [[NSMutableArray alloc] init];
rocks = [[NSMutableArray alloc] init];
if (levelNumber < 3) {
diamonds = [NSMutableArray arrayWithObjects:@"1", nil];
} else if (levelNumber > 2 <= 4) {
diamonds = [NSMutableArray arrayWithObjects:@"1", @"2", @"3", nil];
} else if (levelNumber > 4 <= 6) {
diamonds = [NSMutableArray arrayWithObjects:@"1", @"2", @"3", @"4", nil];
} else if (levelNumber > 6 <= 10) {
diamonds = [NSMutableArray arrayWithObjects:@"1", @"2", @"3", @"4", @"5", nil];
} else if (levelNumber > 10) {
diamonds = [NSMutableArray arrayWithObjects:@"1", @"2", @"3", @"4", @"5", @"6", nil];
}
if ([diamonds count] > 1 <= 2) {
rocks = [NSMutableArray arrayWithObjects:@"1", @"2", nil];
} else if ([diamonds count] > 2 <= 5) {
rocks = [NSMutableArray arrayWithObjects:@"1", @"2", @"3", nil];
} else if ([diamonds count] > 5) {
rocks = [NSMutableArray arrayWithObjects:@"1", @"2", @"3", @"4", nil];
}
[self drawObjects];
}
BTW алмазы (массив) - это переменная экземпляра