iPhone アプリに非常に単純な線画アニメーションを実装しようとしています。遅れてビューに四角形を描画したいと思います。私はperformSelector
自分の描画方法を実行するために使用しています。
-(void) drawRowAndColumn: (id) rowAndColumn
{
int rc = [rowAndColumn intValue];
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 2.0);
CGContextSetStrokeColorWithColor(context, currentColor.CGColor);
CGRect rect = CGRectMake(rc * 100, 100, 100, 100);
CGContextAddRect(context, rect);
CGContextDrawPath(context, kCGPathFillStroke);
}
次に、次の方法で呼び出されます。
int col = 10;
[self performSelector:@selector(drawRowAndColumn:)
withObject:[NSNumber numberWithInt:col]
afterDelay:0.2];
しかし、メッセージが実際に送信されると、次のようなエラーが発生するdrawRowAndColumn:
ため、有効な にアクセスできなくなったようです。CGContextRef
<Error>: CGContextAddRect: invalid context
performSelector
を への直接呼び出しに置き換えると、正常にdrawRowAndColumn
動作します。したがって、私の最初のアイデアは、CGContextRef
経由でも渡すperformSelector
ことでしたが、複数の引数を同時に渡す方法がわかりません (これは別の良い質問です)。
上記のコードの何が問題になっていますか?