IOS:Objective-C字面量
2014-03-24 20:33
302 查看
感谢原作者,转载自:http://blog.csdn.net/annkie/article/details/9722659
Objective-c早就支持字面量,但是IOS到XCODE 4.5,IOS6,LLVM4.0才开始较好的支持字面量。
以下是简要对比:
注:
@YES/@NO和下标功能从IOS6才开始支持(XCODE4.5+LLVM4.0)。
其他字面量从XCODE4.4+LLVM4.0就已经支持。
详情参见:
XCode中Objective-C功能支持情况索引
Objective-c早就支持字面量,但是IOS到XCODE 4.5,IOS6,LLVM4.0才开始较好的支持字面量。
以下是简要对比:
未使用字面量 | 使用字面量 |
---|---|
NSString *greeting = [NSString stringWithUTF8String:"Hello World"]; | NSString *greeting = @"Hello World"; |
NSNumber *number; | NSNumber *number; |
number = [NSNumber numberWithChar:'X']; | number = @'X'; |
number = [NSNumber numberWithInt:12345]; | number = @12345; |
number = [NSNumber numberWithUnsignedLong:12345ul]; | number = @12345ul; |
number = [NSNumber numberWithLongLong:12345ll]; | number = @12345ll; |
number = [NSNumber numberWithFloat:123.45f]; | number = @123.45f; |
number = [NSNumber numberWithDouble:123.45]; | number = @123.45; |
number = [NSNumber numberWithBool:YES]; | number = @YES; |
[NSNumber numberWithint:6 + x * 2012] | @(6+x*2012) |
NSNumber *piOverSixteen = [NSNumber numberWithDouble: (M_PI / 16)]; | NSNumber *piOverSixteen = @( M_PI / 16 ); |
NSNumber *hexDigit = [NSNumber numberWithChar:"0123456789ABCDEF"[i % 16]];NSNumber *hexDigit = @( "0123456789ABCDEF"[i % 16] ); | NSNumber *hexDigit = @( "0123456789ABCDEF"[i % 16] ); |
NSNumber *usesScreenFonts = [NSNumber numberWithBool:[NSLayoutManager usesScreenFonts]]; | NSNumber *usesScreenFonts = @( [NSLayoutManager usesScreenFonts] ); |
NSNumber *writingDirection = [NSNumber numberWithInt:NSWritingDirectionLeftToRight]; | NSNumber *writingDirection = @( NSWritingDirectionLeftToRight ); |
NSNumber *path = [NSString stringWithUTF8String: getenv("PATH")]; | NSNumber *path = @( getenv("PATH") ); |
array = [NSArray arrayWithObjects:a, b, c, nil]; | array = @[ a, b, c ]; |
[array objectAtIndex:1] | array[1] |
dict = [NSDictionary dictionaryWithObjects:@[o1, o2, o3] forKeys:@[k1, k2, k3]]; | dict = @{ k1 : o1, k2 : o2, k3 : o3 }; |
[NSDictionary dictionaryWithObjectsAndKeys: v1, k1, v2, k2, nil]; | @{k1:v1, k2:v2} |
[dictionary valueForKey:k] | dictionary[k] |
@YES/@NO和下标功能从IOS6才开始支持(XCODE4.5+LLVM4.0)。
其他字面量从XCODE4.4+LLVM4.0就已经支持。
详情参见:
XCode中Objective-C功能支持情况索引
相关文章推荐
- 【IOS沉思录】Objective-C中的糖衣语法(字面量)
- iOS 高级开发技巧 1.熟悉Objective-C (三) 多用字面量语法
- iOS:Objective-C字面量
- iOS安全攻防(二十三):Objective-C代码混淆
- xcode反汇编调试iOS模拟器程序(三)查看Objective-C函数与参数
- 【Objective-C高级编程】iOS与OS X多线程和内存管理(九) Block 循环引用
- IOS学习第十一天 OC语言的学习 Objective-C简介
- Objective-C_2.0大全.pdf iOS 5 Programming Cookbook http://www.devdiv.com
- iOS --- 总结Objective-C中常用的宏定义(持续更新中)
- iOS 图片 的 聊天气泡显示 Objective-C
- 【深入学习iOS开发(一)】Objective-C Reflection(Objective-C 反射机制)
- Objective-C语法之Objective-C语言和IOS系统(简介,语法,系统结构)
- Objective-C语言与iOS系统
- iOS(iPhone,iPad))开发(Objective-C)开发库常用库索引
- iOS开发之Objective-C与JavaScript交互操作
- iOS中Objective-C已死Swift当立?
- iOS高效开发必备的10款Objective-C类库
- iOS 开发--Objective-C 反射机制---(正好需要)
- iOS开发 - Objective-C语言 | 局部变量、全局变量和成员变量之间的区别
- 转载 10款iOS高效开发必备的Objective-C类库