字面量声明方式 Objective-C Literal Value

最近才注意到NSArray,NSDictionary,NSNumber有一种字面量方式声明。瞬间感觉写代码又省了好多事情。

只是百度了一下,从Xcode4.4就已经存在这种方式了,但是自己居然一直在使用Previously那些方法。

于是现在在这里做一次整理,方便自己记忆(其实是当初说要写博客,但是好久没写了,来补个数量尴尬)

借鉴:http://cocoaheads.tumblr.com/post/17757846453/objective-c-literals-for-nsdictionary-nsarray

也看了一下官方文档,但是上面那个链接给的非常详细。大家如果有愿意看的话,看上面那个地址就可以了,以下,只是为了自己学习。

Objective-C literals: one can now create literals for NSArray, NSDictionary, and NSNumber (just like one can create literals for NSString)

 

String Value

string_value ::= "text" | 'text'

NSArray:

Previously:

array = [[NSArray alloc] initWithObjects: a, b, c,  nil ];

array = [NSArray arrayWithObjects: a, b, c, nil ];

Now:

array = @[ a, b, c ];

NSDictionary:

Previously:

NSDictionary *dict;

dict = [[NSDictionary alloc] initWithObjectsAndKeys:@[ o1, o2, o3 ],@[ k1, k2, k3 ], nil ];

dict = [NSDictionary dictionaryWithObjects:@[ o1, o2, o3] forKeys:@[ k1, k2, k3]];

Now:

dict = @{ k1 : o1, k2 : o2, k3 : o3 };

NSNumber:

Previously:

NSNumber * number;

number = [NSNumber numberWithInt:12345];

//同理,这种初始化还有Char,Long,Float,Double,Bool等类型,不再一一列举

Now:

NSNumber *number;

number = @'X';

number = @12345;

number = @12345ul;

number = @12345ll;

number = @123.45f;

number = @123.45;

number = @YES;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值