UIView を常にフェードインおよびフェードアウトさせるために、次のコードを作成しました。(FadeAlphaValue は BOOL です)...
-(void) fade {
[UIView animateWithDuration:1.0
animations:^{
fadeView.alpha = (int)fadeAlphaValue;
}
completion:^(BOOL finished){
fadeAlphaValue=!fadeAlphaValue;
[self fade];
}];
}
それは機能しますが、永久に実行すると奇妙なクラッシュが発生する気がします...私は[..^{..} completion^{...}];
その表記法に慣れていません。そして、完了中に「フェード」関数を呼び出しているので、「フェード」関数が完了するまで実際には完了しないように感じます。問題は、フェード関数が完了する前に自分自身を再度呼び出すなどです。無限ループのようです...これは、数百回の反復後に、ある種の奇妙なマルチスレッドのフリーズを引き起こすのでしょうか?