0

プロジェクトの概要を簡単に説明します。フォトライブラリの画像を表示しています。ViewControllerにImageviewとボタンがあります。ボタンを押すと、ライブラリから写真を選択すると、フォトライブラリに移動します。画像は画像ビューで表示されます。

しかし、このプロジェクトを実行すると、ランタイムエラーが発生します。コードを見て、解決策を提案してください。ファイルが見つからない場合は、必要に応じてアップロードできるように通知してください。

エラーが正確にどこにあるのかわからない、グーグルでスタックオーバーフローを見たが、それでも解決策が見つからない

以下はViewcontroller.mファイルとコンソールがエラーを見て教えてください

view controller.m 


//
//  ViewController.m
//  ImagePicker
//
//  Created by Vaibhav on 12/30/12.
//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//

#import "ViewController.h"

@implementation ViewController

@synthesize imagepic;


-(IBAction)ButtonClicked{



    ipc=  [UIImagePickerController alloc];
    ipc.delegate=self;

    ipc.sourceType=UIImagePickerControllerSourceTypePhotoLibrary;

    [self presentModalViewController:ipc animated:YES ];



}

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    imagepic.image= [info objectForKey:UIImagePickerControllerOriginalImage ];
    [ [picker parentViewController] dismissModalViewControllerAnimated:YES ];

    [picker release];


}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
    [ [picker parentViewController]dismissModalViewControllerAnimated:YES ];
    [picker release];
}



- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Release any cached data, images, etc that aren't in use.
}

#pragma mark - View lifecycle

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
}

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
}

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
}

- (void)viewDidDisappear:(BOOL)animated
{
    [super viewDidDisappear:animated];
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}

@end

コンソールのエラーメッセージ:

2012-12-30 13:03:05.758 ImagePicker[1409:f803] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<ViewController 0x687b2e0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key image.'
*** First throw call stack:
(0x13b9052 0x154ad0a 0x13b8f11 0x9b0032 0x921f7b 0x921eeb 0x93cd60 0x22f91a 0x13bae1a 0x1324821 0x22e46e 0xd5e2c 0xd63a9 0xd65cb 0x36a73 0x36ce2 0x36ea8 0x3dd9a 0xebe6 0xf8a6 0x1e743 0x1f1f8 0x12aa9 0x12a3fa9 0x138d1c5 0x12f2022 0x12f090a 0x12efdb4 0x12efccb 0xf2a7 0x10a9b 0x1d02 0x1c75)
terminate called throwing an exceptionCurrent language:  auto; currently objective-c
(gdb) 
4

1 に答える 1

1

ViewController.xibで、画像ビューを選択し、を確認しますIBOutlet ConnectionsIBOutlet名前付きに接続されている場合はimage、削除します。画像ビューはIBOutlet、対応する.hファイルにあるものに接続する必要があります。以前の名前に変更UIImageViewした可能性があります。imagePicimage

于 2012-12-30T08:00:16.787 に答える