iPhone:Wie kann ich speichern UIImage mit NSUserDefaults?
Kann ich nicht speichern, Bild mit nsuserdefaults und stürzt meine app und ich habe auch custom class UserInfo, die verwendet
-(void)encodeWithCoder:(NSCoder *)encoder
{
NSData *imageData = UIImagePNGRepresentation(categoryImage);
[encoder encodeObject:categoryName forKey:@"name"];
[encoder encodeObject:imageData forKey:@"image"];
}
-(id)initWithCoder:(NSCoder *) - decoder und userInfo.categoryImage ist UIImage variable.
Grund: '-[UIImage encodeWithCoder:]: unrecognized selector geschickt Instanz 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"];
}
Also Bitte helft mir, wie kann ich die speichern und abrufen von uiimage mit nsusedefaults???
- Die saveCustomObject können kaum damit arbeiten, denn es speichert jedes Objekt für den gleichen Schlüssel.
Du musst angemeldet sein, um einen Kommentar abzugeben.
UIImage nicht implementiert NSCoding-Protokoll, das ist, warum Sie den Fehler.
Shop:
Wiederherstellen:
UserInfo
Klasse implementieren 'NSCoding Protokoll und Archiv die ganze 'userInfo' - Objekt. Lesen Sie diesen Beitrag für weitere Informationen: stackoverflow.com/questions/3715038/... zum Beispiel.Wenn ich du wäre, ich ' ll speichern Sie die UIImage in eine Datei (verwenden Sie die [myImage hash]; erzeugen einer Datei-name), und speichern Sie den Namen der Datei als NSString mit NSUserDefault 😉
Bild Speichern auf NSUserDefaults :
Bild abrufen auf NSUserDefaults: