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