gpt4 book ai didi

iPhone:如何使用 NSUserDefaults 存储 UIImage?

转载 作者:可可西里 更新时间:2023-11-01 03:21:58 24 4
gpt4 key购买 nike

我无法使用 nsuserdefaults 保存图像并使我的应用程序崩溃,我还使用了使用的自定义类 UserInfo

-(void)encodeWithCoder:(NSCoder *)encoder
{
NSData *imageData = UIImagePNGRepresentation(categoryImage);
[encoder encodeObject:categoryName forKey:@"name"];
[encoder encodeObject:imageData forKey:@"image"];
}

-(id)initWithCoder:(NSCoder *)解码器和userInfo.categoryImage 是 UIImage 变量。

原因:'-[UIImage encodeWithCoder:]:发送到实例 0x7676a70 的无法识别的选择器'

userInfo = [[UserInfo alloc] init];

userInfo.categoryName = categoryName.text;
NSLog(@"Category Name:--->%@",userInfo.categoryName);

userInfo.categoryImage = image;

appDelegate.categoryData = [[NSMutableDictionary dictionaryWithObjectsAndKeys:
userInfo.categoryName, @"name",userInfo.categoryImage,@"image", nil] mutableCopy];


[appDelegate.categories addObject:appDelegate.categoryData];
NSLog(@"Category Data:--->%@",appDelegate.categories);

[appDelegate.categories addObject:userInfo.categoryName];
[appDelegate.categories addObject:userInfo.categoryImage];

[self saveCustomObject:userInfo.categoryName];

[self saveCustomObject:userInfo.categoryImage];


-(void)saveCustomObject:(UserInfo *)obj
{
appDelegate.userDefaults = [NSUserDefaults standardUserDefaults];
NSData *myEncodedObject = [NSKeyedArchiver archivedDataWithRootObject:obj];


[appDelegate.userDefaults setObject:myEncodedObject forKey:@"myEncodedObjectKey"];
}

所以请帮助我如何使用 nsusedefaults 存储和检索 uiimage???

最佳答案

如果我是你,我会将 UIImage 保存到文件中(使用 [myImage hash]; 生成文件名),并使用 NSUserDefault 将文件名保存为 NSString ;-)

关于iPhone:如何使用 NSUserDefaults 存储 UIImage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7620165/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com