0

モデルとデータの保存についてはまだ少し混乱しています。おそらく誰かが私を助けてくれるでしょう。ユーザーがカメラロールから写真をインポートできるページがあります。次のページに移動するとすぐに、再び消えてしまいます。テキストボックスからNStringにテキストデータを保存できますが、画像を使用してこれを行う方法がわかりません。画像はUIWebビューに表示されます。

xcode 4.3

    UIImagePickerController * picker = [[UIImagePickerController alloc] init];
    picker.delegate = self;

    if((UIButton *) sender == choosePhotoBtn) {
        picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
    }

    [self presentModalViewController:picker animated:YES];


}

- (void)imagePickerController:(UIImagePickerController *)picker        didFinishPickingMediaWithInfo:(NSDictionary *)info {
    [picker dismissModalViewControllerAnimated:YES];
    imageView.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
4

1 に答える 1

1

まず第一に、あなたの問題のいくつかのコードを投稿してみてください。それは私たちがあなたをより良く助けるようにします。

私が推測したところ、問題は、新しいビューにプッシュしたときに画像が失われていることです。私はこの問題を抱えていて、シングルトンクラスを使用して解決しました。グローバル要素を作成し、保持したい値を格納できます。画像、クラスオブジェクトを含む(uはそれに名前を付けます)

Uは必要なだけの値を保持でき、ライブラリに保存する必要もありません。

インターネットでシングルトンクラスを読んでみてください私たちの親友のグーグルが確かにあなたを助けてくれると確信しています

編集済み--------SINGLETONについて

シングルトンについて読んだので大丈夫です。シングルトンクラスを使用する理由に気付いたかもしれません。シングルトンの主な目的はグローバル変数を保持することですが、知らないことを知っています。したがって、問題については、(カメラまたはフォトギャラリーから)画像を選択すると、UIImageのオブジェクトに戻ります。

uはシングルトンのクラスを持っている必要があります

#import <Foundation/Foundation.h>

@interface Singleton : NSObject

{
        //Global  Variables

        //UImage Instance that will Store The Image From Picker
        UIImage *photoPicked;    
}

//Getter And Setter
@property (nonatomic,retain)  UIImage *photoPicked ;

//Shared SIngleton CLass
+(Singleton*)sharedSingletonController;
@end

そして、Mファイルは次のようになります

#import "Singleton.h"

@implementation Singleton
@synthesize imagePicked;

//Class Function For SingleTon

+(Singleton*)sharedSingletonController{

    static Singleton *sharedSingleton;

    @synchronized(self) {
        if(!sharedSingleton){
            sharedSingleton = [[Singleton alloc]init];
        }
    }

    return sharedSingleton;
}

//I don't want a re-initialization for these variables
-(id)init{
    self = [super init];
    if (self != nil) {


        }
    return self;
}



@end

今やらなければならないのは、クラスでsharedSingletonController関数を呼び出すことだけです。ここで、のようなシングルトンImage変数を使用したい場合は、シングルトンクラスのオブジェクトを作成することを忘れないでください。

そんな感じ

Singleton *yourSingletonObj = [Singleton sharedSingletonController];

今、あなたはあなたの画像をシングルトンで保存することができます

yourSingletonObj.image = (YOUR IMAGE FROM PICKER);

これで、画像がシングルトンオブジェクトに保存されます。ですから、それが失われることなく、いつでも、どのクラスでも使用できる場合は、

乾杯それがうまくいったかどうか私に知らせてくださいW

于 2012-05-01T18:48:02.963 に答える