在xcode项目中保存导入的照片

时间:2012-05-01 18:33:00

标签: iphone xcode ios5 save

我仍然对模型和保存数据感到困惑,也许有人可以帮助我。我有一个页面,用户可以在那里从相机胶卷中导入照片。一旦我移动到下一页,它就会再次消失。我可以从文本框中保存NString中的文本数据,但我不确定如何使用图像执行此操作。图像显示在UI webview中。

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"];

1 个答案:

答案 0 :(得分:1)

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

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

你可以拥有你想要的尽可能多的价值,你甚至不必将它存储在你的图书馆。

尝试在互联网上阅读Singleton课程我相信我们的好朋友Google肯定会帮助你

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

好的,因为你读过关于Singleton的文章。你可能已经注意到我们为什么要使用Singleton Classes,Singleton的主要目的是保存全局变量,但是你知道这不是你。关于你的问题,当你选择一个图像(从相机或照片Galary)它将返回到你的UIImage对象。

你必须有一个Singleton类似的事情

#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类的对象

有点像那样

Singleton *yourSingletonObj = [Singleton sharedSingletonController];

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

yourSingletonObj.image = (YOUR IMAGE FROM PICKER);

现在图像将保存在您的Singleton对象中。因此,当它不会丢失,你可以随时随地使用它,无论你喜欢什么类别

干杯 让我知道它是否有效 w ^