I am trying to store a custom object in NSMutableDictionary. After saving when I read the object from NSMutableDictionary it’s always null.
Here is the code
//Saving
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
CustomObject *obj1 = [[CustomObject alloc] init];
obj1.property1 = @"My First Property";
[dict setObject:obj1 forKey:@"FirstObjectKey"];
[dict writeToFile:[self dataFilePath] atomically:YES];
// Reading
NSString *filePath = [self dataFilePath];
NSMutableDictionary *dict = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];
CustomObject *tempObj = [dict objectForKey:@"FirstObjectKey"];
NSLog(@"Object %@", tempObj);
NSLog(@"property1:%@,,tempObj.property1);
How can I store a custom class object in NSMutableDictionary?
writeToFilemethod can store only standard types of objects into plist. If you have custom object you’d have to useNSKeyedArchiver/NSKeyedUnarchiverfor this.