将图像添加到NSUserDefaluts和文件夹

时间:2014-09-23 12:05:42

标签: ios

我有一个数据库结构: UserDefaults-> Empdata Dictionary-> Iphone Array->每个员工的词典都添加了。 连同其他细节我想保存员工的形象。 Employee使用ImagePicker上传其图像。我也想要保存所有细节后,它也可以编辑。我想到将所有图像保存在一个文件夹中,并将其图像名称作为员工的名称,然后通过图像名称检索此图像。如果有是其他一些替代请告诉。任何形式的帮助都会很明显。 提前谢谢。

2 个答案:

答案 0 :(得分:0)

NSUserDefaults它不打算存储二进制数据或大量数据! 您应该将映像保存到磁盘,或者使用Core Data将其存储到磁盘或数据库(如果它小于100KB)。

编辑:

要从ImagePickerController将图像保存到磁盘,您可以执行以下操作:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];

        NSString *imageFilename = [NSString stringWithFormat:@"%@.jpg", yourNameString];
        NSString *paths = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject];

      NSString*  imagePath = [NSString stringWithFormat:@"%@/%@", paths, imageFilename];

    NSLog(@"IMAGE PATH: %@", imagePath);

    [self dismissViewControllerAnimated:YES completion:^{

    NSData *imageData = UIImageJPEGRepresentation(image, 1.0f);
    if([imageData writeToFile:imagePath atomically:YES])
    {
        NSLog(@"Write to Document folder success filename = %@",imagePath);
    }

}];

}

对于核心数据,您应该搜索一些教程或书籍,因为它需要学习很多,而且超出了本主题的范围。

答案 1 :(得分:0)

正如大家已经建议你应该使用应用程序目录来保存和检索图像。

而不是员工姓名使用像employeeID这样的独特内容。

下面的帖子解释了在app目录中保存和检索的过程。请遵循:

Saving image to Documents directory and retrieving for email attachment