【问题标题】:Did OS4 change how the iPhone reads code?OS4 是否改变了 iPhone 读取代码的方式?
【发布时间】:2011-03-21 18:33:19
【问题描述】:

我为 3.2 编写的代码在 OS4 中执行不同。仍然没有错误,只是新的错误。

所以我在一个名为“randomize”的 IBAction 中初始化 imageView,它会产生一个随机数,该随机数会出现在 86 个案例中的一个产生动画和图像,0 和 86 之间代码的唯一区别是最终的 imageView。图像(我只是不想过去 86 份相同的代码让你不得不涉水而过)。无论如何,动画 imageView.animationImages 都会运行。错误是我第一次运行该动作时,imageView.animationImages 运行显示我的动画,然后没有完成代码并转到 imageView.image = [UIImage imageNamed:@"image36.png"],它现在只显示我在 Interface Builder 中设置的实际 imageView 背景。有时它会为一种情况运行动画,而为另一种情况运行 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;

【问题讨论】:

  • 抱歉,忘记包含 sn-p
  • 哦...我的...亲爱的...请不要告诉我你这里有 86 个案例陈述。
  • 只有 85、42 种方式来掷两个骰子(每双计算两次)x 2 +1 特殊掷骰。对于这种由随机数控制的事件,如果/那么还有其他方法吗?

标签: iphone objective-c uiimage random


【解决方案1】:

如果我不得不猜测,您在 86 个案例中以随机间隔丢失了中断语句。请考虑重构为方法...

【讨论】:

    猜你喜欢
    • 2011-03-12
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-19
    • 2017-05-17
    • 1970-01-01
    相关资源
    最近更新 更多