Ошибка случайных изображений
Я делаю приложение, которое при нажатии кнопки дает случайное изображение. Когда я запускаю его, я не получаю никакой ошибки, но когда я нажимаю на кнопку, приложение останавливается и на xcode в конце этого кода написано "Поток 1: точка останова 1.1":
-(void)changeLabel{
progressView.progress += 0.15;
if (progressView.progress == 1) {
label.hidden = YES;
progressView.hidden = YES;
[timer invalidate];
imagenesTest.hidden = NO;
int randomNumber = arc4random() % 4;
switch (randomNumber) {
case 0:
imagenesTest.image = [UIImage imageNamed:@"image1.png"];
break;
case 1:
imagenesTest.image = [UIImage imageNamed:@"image2.png"];
break;
case 2:
imagenesTest.image = [UIImage imageNamed:@"image3.png"];
break;
case 3:
imagenesTest.image = [UIImage imageNamed:@"image4.png"];
default:
break;
}
}
}
Когда я нажимаю кнопку, она должна активировать индикатор выполнения, а затем помещать случайное изображение. Выдает ошибку до того, как индикатор выполнения начинает работать. Вот код, который у меня есть для кнопки:
- (IBAction)scan:(id)sender {
label.hidden = NO;
imagenesTest.hidden = YES;
progressView.hidden = NO;
progressView.progress = 0;
timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(changeLabel) userInfo:nil repeats:YES];
}
Когда я нажимаю на ветку, она подчеркивает это
0x94feb6: jmp 0x3ef05
; -[UIWindow _setRotatableClient:toOrientation:updateStatusBar:duration:force:isRotating:] + 4724
Я делаю что-то не так с кодом? Извините, если я не объяснил себя хорошо, я начал программировать несколько месяцев назад
Спасибо, Эмилио
1 ответ
Если это вся информация, которую консоль сообщает нам, это не сообщение об ошибке, это означает, что вы добавили точку останова. Рядом с вашим кодом вы увидите линию водосточного желоба, если вы нажмете ее, вы можете добавить точки останова, которые являются этими синими стрелками. Вот изображение:
Поэтому, чтобы отменить выбор точки останова, просто щелкните ее или щелкните правой кнопкой мыши и нажмите "Удалить".
Также, чтобы отключить точки останова: команда +Y или нажмите кнопку выбора точек останова вверху рядом с кнопкой остановки и панелью схемы и строкой состояния сборки.
Проверьте мой ответ на этот недавний похожий вопрос: iPhone app простой калькулятор - ошибка цели c
ОБНОВИТЬ:
Можете ли вы положить некоторые NSLog
что проверить, является ли изображение допустимым и что методы вызываются. Скажи мне свои результаты!
NSLog
в основном вход в консоль отладки. Так добавь NSLog(@"test");
в ваш метод, и если он будет напечатан в консоли, вы знаете, что метод был вызван
Также возможно положить if
высказывание высказывание
if (image) {
NSLog(@"image is valid");
}
Условие этого утверждения имеет место только в том случае, если image
ненулевой / действительный / инициализированный. Следовательно
изображение является действительным
должен быть напечатан в консоли отладки