它是这样工作的,所以如果有人有类似的问题,你可以这样做
所以这是我在 applicationdidfinishlaunching 中输入的内容
if ([[NSUserDefaults standardUserDefaults] objectForKey:@"image"] == nil) {
picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:picker animated:YES];
}
这是我写的
(void)imagePickerController:(UIImagePickerController *) Picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
NSData *imageData;
UIImage *yourUIImage;
imageData = [NSKeyedArchiver archivedDataWithRootObject:yourUIImage];
[[NSUserDefaults standardUserDefaults] setObject:imageData forKey:@"image"];
yourUIImage = [info objectForKey:UIImagePickerControllerOriginalImage];
[self dismissModalViewControllerAnimated:YES];}
最佳答案
您正在序列化(归档)一个未初始化的变量。变量 yourUIImage
已声明,但您从未为其分配任何内容。然后你尝试存档它。如果你幸运的话,yourUIImage
只是 nil
,但如果你不走运,它会因为未初始化的垃圾指针而崩溃。
关于ios - 图片没有保存,即使我得到确认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8869784/