Buscar..


Literales

El Modern Objective C proporciona formas de reducir la cantidad de código que necesita para inicializar algunos tipos comunes. Esta nueva forma es muy similar a cómo se inicializan los objetos NSString con cadenas constantes.

NSNumber

Vieja forma:

NSNumber *number = [NSNumber numberWithInt:25];

Manera moderna:

NSNumber *number = @25;

Nota: también se puede almacenar BOOL valores en NSNumber objetos usando @YES , @NO o @(someBoolValue) ;

NSArray

Vieja forma:

NSArray *array = [[NSArray alloc] initWithObjects:@"One", @"Two", [NSNumber numberWithInt:3], @"Four", nil]; 

Manera moderna:

NSArray *array = @[@"One", @"Two", @3, @"Four"];

NSDiccionario

Vieja forma:

NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys: array, @"Object", [NSNumber numberWithFloat:1.5], @"Value", @"ObjectiveC", @"Language", nil];

Manera moderna:

NSDictionary *dictionary = @{@"Object": array, @"Value": @1.5, @"Language": @"ObjectiveC"};

Suscripción de contenedores

En la sintaxis moderna de Objective C, puede obtener valores de los contenedores NSArray y NSDictionary utilizando subíndices de contenedor.

Vieja forma:

NSObject *object1 = [array objectAtIndex:1];
NSObject *object2 = [dictionary objectForKey:@"Value"];

Manera moderna:

NSObject *object1 = array[1];
NSObject *object2 = dictionary[@"Value"];

También puede insertar objetos en matrices y establecer objetos para claves en diccionarios de una manera más limpia:

Vieja forma:

// replacing at specific index
[mutableArray replaceObjectAtIndex:1 withObject:@"NewValue"];
// adding a new value to the end
[mutableArray addObject:@"NewValue"];

[mutableDictionary setObject:@"NewValue" forKey:@"NewKey"];

Manera moderna:

mutableArray[1] = @"NewValue";
mutableArray[[mutableArray count]] = @"NewValue";

mutableDictionary[@"NewKey"] = @"NewValue";


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow