NSDictionary rápido com chaves que correspondem aos nomes dos objetos

Com o LLVM 4.0, Collection Literals foram introduzidos, permitindo-nos criar um NSDictionary usando a sintaxe literal:

NSDictionary* dict = @{@"key1" : obj1, @"key2" : obj2};

Se você concordar em fazer com que as chaves correspondam ao nome do objeto:

NSDictionary* dict = @{@"stringA" : stringA, @"object2" : object2};

então, há uma maneira ainda mais rápida de criar um NSDictionary: a macro NSDictionaryOfVariableBindings.

NSDictionary* dict = NSDictionaryOfVariableBindings(stringA, object2);

Agora basta acessar seus objetos usando os nomes das variáveis ​​como as chaves:

NSString* str = [dict objectForKey:@"stringA"];

O NSDictionaryOfVariableBindings é uma macro definida em NSLayoutConstraints.h e geralmente é usado no processo de criação de restrições de AutoLayout de forma programática, MAS, isso não significa que você não pode se beneficiar de usá-lo em outros cenários.

Verifique a documentação do CLANG 3.5 para obter informações sobre a sintaxe dos literais: http://clang.llvm.org/docs/ObjectiveCLiterals.html

e a seção “Criando restrições programaticamente” do “Guia de layout automático” da documentação do desenvolvedor da Apple para obter mais informações sobre a criação de restrições de layout automático programaticamente:
https://developer.apple.com/library/mac/documentation/UserExperience/Conceptual/AutolayoutPG /AutoLayoutinCode/AutoLayoutinCode.html#//apple_ref/doc/uid/TP40010853-CH11-SW1