Изменилась ли OS4, как iPhone читает код? - PullRequest
0 голосов
/ 27 июля 2010

Код, который я написал для 3.2, работает по-другому в OS4. Все еще нет ошибок, только новые ошибки.

Итак, я инициализирую imageView внутри IBAction, называемого «randomize», который генерирует случайное число, которое переходит в один из 86 случаев, создавая результирующую анимацию и изображение, единственное различие в коде между 0 и 86 - это последний imageView. image (Я просто не хотел вставлять 86 копий одного и того же кода, чтобы вам пришлось пробираться). Независимо от того, что происходит, анимация imageView.animationImages запускается. Ошибка заключается в том, что при первом запуске действия imageView.animationImages показывает мою анимацию, а затем вместо завершения кода и перехода к imageView.image = [UIImage imageNamed: @ "image36.png"], теперь оно просто показывает все, что я установил в качестве фактического фонового изображения в Интерфейсном Разработчике. И иногда он запускает анимацию для одного случая и imageview.image для другого. Есть идеи?

- (IBAction)randomize {
 int Number = arc4random() % 86;
 switch (Number) {
      case 0:
           imageView.animationImages = [NSArray arrayWithObjects:
                                               [UIImage imageNamed:@"image1.png"],
                                               [UIImage imageNamed:@"image2.png"],
                                               [UIImage imageNamed:@"image3.png"],
                                               [UIImage imageNamed:@"image4.png"],
                                               [UIImage imageNamed:@"image5.png"],
                                               [UIImage imageNamed:@"image6.png"],
                                               [UIImage imageNamed:@"image7.png"],
                                               [UIImage imageNamed:@"image8.png"],
                                               [UIImage imageNamed:@"image9.png"],
                                               [UIImage imageNamed:@"image10.png"],
                                       [UIImage imageNamed:@"image0.png"],nil];
           imageView.animationDuration = 0.50;
           [imageView setAnimationRepeatCount: 1];
           [imageView startAnimating]; 
           imageView.image = [UIImage imageNamed:@"image36.png"];

           break;
      case 1:
           imageView.animationImages = [NSArray arrayWithObjects:
                                               [UIImage imageNamed:@"image1.png"],
                                               [UIImage imageNamed:@"image2.png"],
                                               [UIImage imageNamed:@"image3.png"],
                                               [UIImage imageNamed:@"image4.png"],
                                               [UIImage imageNamed:@"image5.png"],
                                               [UIImage imageNamed:@"image6.png"],
                                               [UIImage imageNamed:@"image7.png"],
                                               [UIImage imageNamed:@"image8.png"],
                                               [UIImage imageNamed:@"image9.png"],
                                               [UIImage imageNamed:@"image10.png"],
                                       [UIImage imageNamed:@"image0.png"],nil];
           imageView.animationDuration = 0.50;
           [imageView setAnimationRepeatCount: 1];
           [imageView startAnimating]; 
           imageView.image = [UIImage imageNamed:@"image37.png"];

           break;

1 Ответ

0 голосов
/ 28 июля 2010

Если бы мне пришлось угадывать, в 86 случаях вы пропускаете статистику перерывов через случайные интервалы.Пожалуйста, рассмотрите возможность рефакторинга для метода ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...