1

noobobjective-cの質問があります。UIImageをMSMutableArrayにどのように追加しますか?これが私が持っているコードです:

MSMutableArray *arr = [[NSMutableArray alloc] init];
UIImage *image;
UIGraphicsBeginImageContext(contextSize);
{
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextTranslateCTM(context, 0, pushUpSize);

    [screenWindow.layer renderInContext: context];  
    image = UIGraphicsGetImageFromCurrentImageContext();
}
UIGraphicsEndImageContext();
[arr addObject:image];

しかし、これは画像を追加しようとするとプログラムをクラッシュさせます。ポインタではなく変数を追加することをどこかで読んだのですが、それは正しいですか?UIImageを配列に追加するにはどうすればよいですか?そのオブジェクトではありませんか?

ありがとう!

4

2 に答える 2

0

配列を初期化してarrいますが、(明らかに単一化された)配列に画像を追加していますimageArr

更新されたコードに基づいて、imageオブジェクトはおそらくnilです。ドキュメントaddObject:では、値を使用して呼び出すnilことは特に禁止されています。

于 2012-04-04T15:08:12.717 に答える
0

@thiesdiggity:私が見ることができるものからあなたのコードに多くの間違いはありません。imageしかし、オブジェクトはnil次のように思われるので、以下のコードを試してみてください。

MSMutableArray *arr = [[NSMutableArray alloc] init];
UIImage *image;
UIGraphicsBeginImageContext(contextSize);
{
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextTranslateCTM(context, 0, pushUpSize);

    [screenWindow.layer renderInContext: context];  
    image = UIGraphicsGetImageFromCurrentImageContext();
}
UIGraphicsEndImageContext();

if(image != nil)
{
    [arr addObject:image];
}

さらにヘルプが必要な場合はお知らせください。さらにヘルプが必要な場合は、クラッシュログを投稿してください。

お役に立てれば。

于 2012-04-04T15:15:54.080 に答える