1

読んでいただきありがとうございます、そしてここに私の問題があります。エラーが発生しましたが、(UIImagePickerControllerメソッドを使用して撮影した)写真を保存しようとしています。エラーは「セレクター画像に応答しません:didFinishSavingWithError:contextInfo :)

インスタンスメソッドをクラスメソッドに変更することと関係があることを他の場所で読んだことがあります(しかし、私は初心者であり、それが何を意味するのかわかりません)。これが私のコードです:D。

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {



// Access the uncropped image from info dictionary
UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];

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

UIImageWriteToSavedPhotosAlbumメソッドの「Self」と関係があると言われています。

4

2 に答える 2

3

このコードを使用して、選択した画像を保存します。

 -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{
 UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
 UIImageWriteToSavedPhotosAlbum(image,self,  
                                   @selector(image:finishedSavingWithError:contextInfo:),
                                   nil);
}

この機能も追加します。

- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo: (void *)contextInfo
{
if (error != nil) 
 {
    NSLog(@"Image Can not be saved");
 } 
 else 
 {
    NSLog(@"Successfully saved Image");
 }
}
于 2013-02-05T07:50:40.590 に答える
2

クラス (自己) がセレクターimage:didFinishSavingWithError:contextInfo:に応答しません。このセレクターを実装する必要があります。このようなもの

- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo
{
    if (error != nil) {
        NSLog(@"Couldn't save image");
    } else {
        NSLog(@"Saved image");
    }
}
于 2013-01-29T07:02:16.123 に答える