ObjC 中的@符号

我们在写 OC 代码时, 最常用到的一个特殊符号可能就是 @ 了吧, 下面总结一下, OC 中使用到 @ 符号的场景.

@””

快速创建一个由引号内内容初始化的 NSString 对象.

@42, @3.14, @YES, @’Z’

创建一个由对应类型初始化的 NSNumber 对象.

例如 :

1
2
3
@42 == [NSNumber numberWithInteger:42]
@YES == [NSNumber numberWithBool:YES]
@42U == [NSNumber numberWithUnsignedInt:42U]

@[]

创建一个由 , 分隔的对象列表作为内容的 NSArray 对象.

例如 :

1
@[@"A", @NO, @2.718] == [NSArray arrayWithObjects:@"A", @NO, @2.718, nil]

@{}

创建一个由特定 键-值 对作为内容的 NSDictionary 对象.

例如 :

1
@{@"someKey": @"theValue"}

@()

自动装箱, 返回基于其值的合适的对象.

例如 :

1
2
const char * 返回 NSString
int 返回 NSNumber 等等