1

image0.png、image1.png、image2.png、image3.png、image4.png が実際に存在するかどうかを確認したい。

 for (int i = 0; i<=61; i++) {
         NSString *imageName = [NSString stringWithFormat:@"image%d.png", i];
         UIImage *image = [UIImage imageNamed:imageName];
         UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; 
    UIImageWriteToSavedPhotosAlbum(imageView.image, self, @selector(image: didFinishSavingWithError:contextInfo:), nil);

image0.png、image1.png、image2.png、image3.png、image4.png が実際に存在するかどうかを確認する NSLog ステートメントの記述方法。毎回 image0.png 画像のみを保存しています。

手伝ってくれてありがとう。

4

1 に答える 1

0

NSFileManager の fileExistsAtPath メソッドを使用して、ファイルが実際に存在するかどうかを確認できます。

[UIImage imageNamed:] は、アプリケーション バンドルからイメージを読み込みます。そのため、ファイルが既にバンドルであり、呼び出しているものと同じ名前が付けられている場合は、ロードされているはずです。デバイス/シミュレーターからアプリケーションを削除して、もう一度再読み込みしてみてください。また、ターゲットの「バンドル リソースのコピー」ビルド フェーズを確認して、すべてのビットマップがバンドルにコピーされていることを確認してください。

別の注意: UIImage をライブラリに保存する前に UIImageView にロードするのは無意味です.他の処理のためにそれが必要な場合を除きます...したがって、このコード行は冗長である可能性があります:

UIImageView *imageView = [[UIImageView alloc] initWithImage:image];

そして最後の行は次のようになります。

UIImageWriteToSavedPhotosAlbum(image, self, @selector(image: didFinishSavingWithError:contextInfo:), nil);

お役に立てれば ;)

于 2012-10-14T12:03:49.503 に答える