Когда я создаю новый проект с Xcode 4.4 и добавляю следующие строки:
NSDictionary *test = @{ @"key" : @"test value" };
NSString *value = test[@"key"];
NSLog(@"value is: %@", value);
он компилируется без предупреждений и выполняется, как ожидалось.
Добавление тех же строк в существующий проект вызывает ошибку компилятора:
NSString *value = test[@"key"]; <-- Expected method to read dictionary element not found on object of type 'NSDictionary *'
Я сравнивал настройки целевой сборки обоих проектов, но ничего не выскочил на меня.
Update: Новый проект, который был успешно скомпилирован, был для OSX. Я попробовал еще один новый для iOS с указанными выше строками, и он не скомпилируется, как и мой предыдущий проект (iOS).