Идеальный способ сделать это, используя библиотеку для сериализации / десериализации, доступно много библиотек, но мне нравится JagPropertyConverter https://github.com/jagill/JAGPropertyConverter
, он может конвертировать ваш пользовательский объект в NSDictionary и наоборот
Предполагая
@interface Person : NSObject
@property (nonatomic, retain) NSNumber * age
@property (nonatomic, retain) NSString * address
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSString * cellNo;
@end
JAGPropertyConverter *converter = [[JAGPropertyConverter alloc]init];
converter.classesToConvert = [NSSet setWithObjects:[Person class], nil];
Person *person = [[Person alloc]init];
person.name = @"name";
person.address = @"address";
person.age = @27;
person.cellNo = @"XXXXXXXXXX";
//For Object to Dictionary
NSDictionary *dictPerson = [converter convertToDictionary:person];
//For Dictionary to Object
Person *person = [[Person alloc]init];
[converter setPropertiesOf:person fromDictionary:dictPerson];