середу, 10 липня 2013 р.

Используем литералы в Objective-C

Литералы — это синтаксические упрощения Objective-C моделей программирования. Они делают код приложения более кратким и сгрупированным.

Для общей наглядности ниже приведена таблица различия кода с использованием литералов и без.

 

Описание Без литерала С литералом
NSNumber из BOOL [NSNumber numberWithBool:YES] @YES
NSNumber из bool [NSNumber numberWithBool:(BOOL)false] @false
NSNumber из Int [NSNumber numberWithInt:123] @123
NSNumber из Double [NSNumber numberWithDouble:3.14] @3.123
NSNumber из Float [NSNumber numberWithFloat:3.14] @3.123F
NSNumber из Long [NSNumber numberWithLong:123L] @123L
NSNumber из LongLong [NSNumber numberWithLongLong:123LL] @123LL
NSNumber из UnsignedInt [NSNumber numberWithUnsignedInt:123U] @123U
NSNumber из Char [NSNumber numberWithChar:’ILYA2606’] @’ILYA2606’
Массив с тремя объектами [NSArray arrayWithObjects:@”Moscow”, @”London”, @”New-York”, nil] @[@”Moscow”, @”London”, @”New-York”]
Словарь с двумя ключами [NSDictionary dictionaryWithObjectsAndKeys:@”xxx”, @”login”, @”yyy”, @”password”, nil] @{@”login”: @”xxx”, @”password”: @”yyy”}
Чтение значения первого элемента массива [array objectAtIndex:0] array[0]
Запись значения в первый элемент массива [array replaceObjectAtIndex:0 withObject:@”xxx”] array[0] = @”xxx”
Чтение значения словаря по ключу «login» [dict objectForKey:@”login”] dict[@”login”]
Запись значения в словарь по ключу «login» [dict setObject:@”xxx” forKey:@”login”] dict[@”login”] = @”xxx”
Пример выражения [NSNumber numberWithDouble:(M_PI / 2)] @(M_PI / 2)
Пример вложения [NSArray arrayWithObjects:[NSNumber numberWithInt:123], [dict objectForKey:@”login”], [NSNumber numberWithInt:NSASCIIStringEncoding], nil] @[@123, dict[@”login”], @(NSASCIIStringEncoding)]

Немає коментарів:

Дописати коментар

HyperComments for Blogger

comments powered by HyperComments