You can use the method NSKeyValueCoding valueForKeyPath:to access the properties of nested objects. For example, given the following dictionaries ...
NSDictionary *homeAddressDict = @{ @"street" : @"2 Elm St.", @"city" : @"Reston" };
NSDictionary *addressesDict = @{ @"home" : homeAddressDict };
... home :
NSString *street = [addressesDict valueForKeyPath:@"home.street"];
NSString *city = [addressesDict valueForKeyPath:@"home.city"];
, :
NSDictionary *contactDict = @{ @"name" : @"Jim Ray", @"addresses" : addressesDict };
NSString *street2 = [contactDict valueForKeyPath:@"addresses.home.street"];
NSString *city2 = [contactDict valueForKeyPath:@"addresses.home.city"];
, , NSDictionary , NSObject, , , .
, , NSDictionary Address, , getter street ( _street _city), - .
, , (, NSMutableDictionary), , :
[contactDict setValue:@"Herndon" forKeyPath:@"addresses.home.city"];