作者uranusjr (←这人是超级笨蛋)
看板MacDev
标题[心得] Modern Objective-C Literals
时间Sat Oct 27 23:04:59 2012
最近突然发现的, 好像还没人提过, 不知道大家知不知道, 分享一下
从 llvm-gcc-4.0 和 clang-3.1 开始, Objective-C 增加了新的 literal 写法
大家都知道 NSString 可以用 @"some text" 产生 literal
现在这个东西也可以用在其他 Foundation 资料型别上
NSNumber *fortyTwo = @42;
NSArray *fooBar = @[@"foo", @"bar"];
NSDictionary *someDict = @{@"key0": @"value0", @"key1": @"value1"};
然後相对的, 现在 NSArray 和 NSDictionary 更可以用 subscript 运算子
NSString *value0 = someDict[@"key0"];
NSString *foo = fooBar[0];
这样以後就不会只为了产生一些简单的资讯, 就必须写一堆落落长的东西了
更多资讯可以参看 Clang 网站的说明
http://clang.llvm.org/docs/ObjectiveCLiterals.html
Xcode 的 refactor 功能里面也有可以自动转换现有程式码的工具
Edit -> Refactor -> Convert to Modern Objective-C Syntax
--
Les grandes et les meilleurs
tone from "Zadok the Priest"
Eine grosse stattliche Veranstaltung
by F. Handel
THE MAIN EVENT! These are the men
Sie sind die Besten
"Champions League" by Tony Britten THESE ARE THE CHAMPIONS!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.32.81.146
1F:推 dreambird:是说,这个从哪一版的xcode开始支援啊,4.5? 10/27 23:33
2F:→ uranusjr:我也不确定, 不过应该是在那之前一点, 可能 4.4 吧 10/27 23:47
3F:→ uranusjr:只要检查 compiler 版本有到就是有了 10/27 23:49