А как же
NSLog(@"Value is %@",
[[circuit_step objectForKey: @"01"] objectForKey: @"search-location"])
Кроме того, ваш код неверен. Вот исправленная версия:
NSMutableDictionary *circuit_step = [NSMutableDictionary dictionary];
if (circuit_step != nil)
{
NSMutableDictionary* step_info = nil;
step_info = [NSMutableDictionary dictionary];
if (step_info != nil) {
[step_info setObject: @"search" forKey: @"search-type"];
[step_info setObject: @"small" forKey: @"search-format"];
[step_info setObject: @"winter" forKey: @"search-season"];
[step_info setObject: @"tree" forKey: @"search-location"];
[circuit_step setObject: step_info forKey: @"01"];
}
step_info = [NSMutableDictionary dictionary];
if (step_info != nil) {
[step_info setObject: @"search" forKey: @"search-type"];
[step_info setObject: @"micro" forKey: @"search-format"];
[step_info setObject: @"summer" forKey: @"search-season"];
[step_info setObject: @"by the lake" forKey: @"search-location"];
[circuit_step setObject: step_info forKey: @"02"];
}
}
Вы не устанавливали правильный объект в circuit_step, и вы также повторно использовали словарь, так что в итоге вы получите две записи, указывающие на один и тот же словарь со значениями '02'.