2011-03-29 42 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

你爲什麼巢另一個塊,而不是僅僅增加

ImageOne.transform = CGAffineTransformMakeScale(scale1, scale1);

進入第一塊,像這樣

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

希望這有助於。 :)

+1

仍然沒有解釋編譯器崩潰... – 2011-03-29 22:56:06