0
以下情況屬實。NS_ENUM作爲帶「@」的NSNumber
NSNumber *a= @90;
但是,如果我有NSInteger的一個NS_ENUM和使用前綴「@」它說
typedef NS_ENUM(NSInteger,Names){John=1};
NSNumber *a= @John;
以下情況屬實。NS_ENUM作爲帶「@」的NSNumber
NSNumber *a= @90;
但是,如果我有NSInteger的一個NS_ENUM和使用前綴「@」它說
typedef NS_ENUM(NSInteger,Names){John=1};
NSNumber *a= @John;
「程序中的意外‘@’」你需要用括號中的John
:
NSNumber *a = @(John);
如果值是不是一個實際的數字文本中,必須使用與@
括號。當然,即使它是數字文字,也可以使用括號。
所有有效:
NSNumber *a = @4;
NSNumber *a = @3.14;
NSNumber *a = @-6;
NSNumber *a = @(4);
NSNumber *a = @(4+5*3);
NSInteger magic = 42;
NSNumber *a = @(magic);
NSNumber *a = @([@"42" integerValue]);