Objective-C Literals

Algo que está disponible a partir de Xcode 4.4 y me pareció muy útil para simplificar el código son los Objective-C Literals.

En vez de escribir

NSNumber *aValue = [NSNumber numberWithInteger:100];

Ahora podemos escribir

NSNumber *aValue = @100;

Lo mismo con NSArray, NSDictionary y sus versiones mutables.

// NSArray
// Old way
NSArray *anArray = [NSArray arrayWithObjects: instance1, instance2, nil];

// Objective-C literals
NSArray *anArray = @[ instance1, instance2 ];

// NSDictionary
// Old way
NSDictionary *aDictionary = [NSDictionary dictionaryWithObjectsAndKeys:aValue1, aKey1, aValue2, aKey2, nil];

// Objective-C literals
NSDictionary *aDictionary = @ { aKey1 : aValue1, aKey2 : aValue2};

// Mutable collections
// use -mutableCopy
NSArray *anArray = [@[ instance1, instance2 ] mutableCopy];
NSDictionary *aDictionary = [@ { aKey1 : aValue1, aKey2 : aValue2} mutableCopy];

2 comments Write a comment

Leave a Reply