0

我对模型和保存数据仍然有些困惑,也许有人可以帮助我。我有一个页面,用户可以在其中从相机胶卷导入照片。当我移至下一页时,它又消失了。我可以将文本数据保存在文本框中的 NString 中,但我不确定如何使用图像执行此操作。图像显示在 UI webview 中。

代码 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

首先尝试发布一些你的问题的代码。它让我们更好地帮助你。

好吧,从我推测的问题是,当您推送到新视图时,您正在丢失图像。好吧,我遇到了这个问题,我使用 Singleton Class 解决了它。它有点创建全局元素,你可以存储你喜欢保存的值。包括图像,类对象(你命名它)

你可以保存尽可能多的值,你甚至不必将它存储在你的库中。

尝试在 Internet 上阅读 Singleton Classes 我相信我们的好朋友 Google 一定会帮助你

已编辑 -------- 关于 SINGLETON

好的,因为你已经阅读过关于 Singleton 的信息。你可能已经注意到为什么我们使用单例类,单例的主要目的是保存全局变量,但你知道你不知道。!!!所以关于你的问题,当你选择一个图像(从相机或照片库)时,它会返回给你一个 UIImage 的对象。

你必须有一个单例类

#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

现在你要做的就是在想要使用单例 Image 变量的类中调用 sharedSingletonController 函数,是的,不要忘记创建单例类的对象

类似的东西

Singleton *yourSingletonObj = [Singleton sharedSingletonController];

现在你可以将你的图像存储在单例中

yourSingletonObj.image = (YOUR IMAGE FROM PICKER);

现在图像将保存在您的 Singleton 对象中。因此,当它不会丢失并且您可以在任何时候和任何您喜欢的课程中使用它时

干杯让我知道它是否有效 W

于 2012-05-01T18:48:02.963 回答