字面

现代 Objective C 提供了减少初始化某些常见类型所需的代码量的方法。这种新方法与使用常量字符串初始化 NSString 对象的方式非常相似。

NSNumber

旧方式:

NSNumber *number = [NSNumber numberWithInt:25];

现代方式:

NSNumber *number = @25;

注意:你还可以使用 @YES@NO@(someBoolValue)NSNumber 对象中存储 BOOL 值;

NSArray

旧方式:

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

现代方式:

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

NSDictionary

旧方式:

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

现代方式:

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