Kiedy utworzyć nowy projekt z Xcode 4.4 i dodać te linie:Jak włączyć nowe znaki obiektowe Objective-C na iOS?
NSDictionary *test = @{ @"key" : @"test value" };
NSString *value = test[@"key"];
NSLog(@"value is: %@", value);
kompiluje bez ostrzeżenia i wykonuje zgodnie z oczekiwaniami.
Dodając te same linie do istniejącego projektu powoduje błąd kompilatora:
NSString *value = test[@"key"]; <-- Expected method to read dictionary element not found on object of type 'NSDictionary *'
Porównałem ustawienia kompilacji docelowych obu projektów, ale nic nie wyskoczyła na mnie.
Aktualizacja: Nowy projekt, który został pomyślnie skompilowany, był dla OSX. Próbowałem innego nowego dla iOS z powyższymi liniami i nie udało się go skompilować, tak jak mój wcześniejszy projekt (iOS).
I oba projekty były przy użyciu szczęk 4.0? – trojanfoe
@trojanfoe Oba używają "kompilatora Apple LLVM 4.0". – darrinm
I oba target x86_64 (nie i386)? – trojanfoe