如何通过iOS编程保存和加载

时间:2012-11-30 04:04:39

标签: objective-c ios uiimagepickercontroller

我有一个应用程序,我想使用UIImagePickerController拍摄照片,然后将所得到的图像粘贴在缩略图视图中。但是,当您退出应用程序时,我想重新显示与用户上次停止时相同的缩略图。我的问题有三个:

  1. 在应用生命周期之间实施保存和加载图片的最佳方法是什么?

  2. 当用户拍照时,如何更改默认快门声音?

  3. 如果用户如此选择,如何将以上所有内容重置为默认设置?

3 个答案:

答案 0 :(得分:1)

尝试使用核心数据或NSUserDefault .. 一些链接让你开始: 1。http://www.raywenderlich.com/934/core-data-on-ios-5-tutorial-getting-started 2。http://maniacdev.com/2012/03/tutorial-getting-started-with-core-data-in-ios-5-using-xcode-storyboards/ 3.一些代码:

//Saving:  
[[NSUserDefaults standardUserDefaults] setObject:UIImagePNGRepresentation(image)forKey:key];
//Loading:     
NSData* imageData = [[NSUserDefaults standardUserDefaults] objectForKey:key];
    UIImage* image = [UIImage imageWithData:imageData];

答案 1 :(得分:0)

你可以做什么代理你只需在本地保存你的图像(我通常喜欢sqlite),当你启动你的应用程序时,你只需要执行一个选择查询来检查图像是否存在,如果是,那么只需检查哪一个是最新的(或者你想要拿起的情况)。

希望,它会给你一个工作的想法。

如有任何疑虑,请告知我。 :)

答案 2 :(得分:0)

您可以将图片数据保存到NSUserDefaults(由其他人提及)或您应用的沙盒,或者您也可以将图片保存到didFinishPickingMediaWithInfo委托中的设备相机胶卷中,如下所示:

ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];  
//Block Request to save the image to camera roll  
[library writeImageToSavedPhotosAlbum:[[info objectForKey:UIImagePickerControllerOriginalImage] CGImage] orientation:(ALAssetOrientation)[[info objectForKey:UIImagePickerControllerOriginalImage] imageOrientation] completionBlock:^(NSURL *assetURL, NSError *error){  
    if (error) {  
        NSLog(@"Error saving to Albums");  
    } else {
        NSLog(@"Saved Image Url %@", assetURL);
    }  
}];  
[library release];

委托- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info信息字典对象然后拥有密钥UIImagePickerControllerReferenceURL的图片网址,然后您可以使用ALAssetsLibrary来获取图片。 HTH。