2011-03-29 9 views
1

私は以下のコードを持っています(下記参照)。もしコンパイルしても "内部コンパイラエラー:バスエラー"が出ます。最後のImageOne.transformをコメントアウトすると、すべて正常に動作します。ファイルが.mで終わると、それを.mmに変更しても問題なくコンパイルできます。何か案は?内部コンパイラエラー:バスエラー

[UIView animateWithDuration:duration1 delay:delay options:UIViewAnimationCurveEaseIn animations:^{ 
      ImageOne.transform = CGAffineTransformMakeScale(scale1, scale1); 
      ImageOne.alpha = 1.0f; 

     } 
         completion:^(BOOL finished){ 
          [UIView animateWithDuration:SecondDuration delay:SecondDelay options:UIViewAnimationCurveEaseOut animations:^{ 
           ImageOne.transform = CGAffineTransformMakeScale(scale2, scale2); 
          } 
               completion:^(BOOL finished){ 
                [UIView animateWithDuration:SecondDuration delay:SecondDelay options:UIViewAnimationCurveEaseOut animations:^{ 
                 ImageOne.transform = CGAffineTransformMakeScale(scale1, scale1); //results in bus error, i think its due to nesting 

                } 
                    completion:nil]; 
               }]; 
         }]; 
    } 

答えて

1

はなぜ巣別のブロックを、よりもむしろちょうどそう

completion:^(BOOL finished) 
{ 
    [UIView animateWithDuration:SecondDuration delay:SecondDelay options:UIViewAnimationCurveEaseOut animations:^{ 
       ImageOne.transform = CGAffineTransformMakeScale(scale1, scale1); 
       ImageOne.transform = CGAffineTransformMakeScale(scale2, scale2); 

のような最初のブロックに

ImageOne.transform = CGAffineTransformMakeScale(scale1, scale1);

を追加するには、この情報がお役に立てば幸いです。 :)

+1

まだコンパイラのクラッシュについて説明していません... –

関連する問題