LLVM4更新--简化对象定义

3 篇文章 0 订阅
1 篇文章 0 订阅

简介: LLVM4.0 更新(在xcode4.4引入)中,添加了一些新的简便代码书写的方法


添加文字的数字,数组,字典,以及表达式的语法

得益于 LLVM 编译器 4.0 的更新,增加了许多新特性,其中包括更方便的代码输入。这一更新可大大提高写代码的效率。这要在定义时使用@符号,正如NSString定义操作一样。

1. 所有的 NSNumber 表达

从 Xcode 4.4 起,所有的 [NSNumber numberWithInt: 10] 之类的表达现在都可以写作 @10,

如:

// 单个字符

NSNumber *theLetterZ = @'Z';   // 相当于 [NSNumber numberWithChar:'Z']

// 整形

NSNumber *fortyTwo = @42;      // 相当于 [NSNumber numberWithInt:42]

NSNumber *ftUnsigned = @42U;   // 相当于 [NSNumber numberWithUnsignedInt:42U]

NSNumber *ftLong = @42L;       // 相当于 [NSNumber numberWithLong:42L]

NSNumber *ftLongLong = @42LL;  // 相当于 [NSNumber numberWithLongLong:42LL]

// 浮点

NSNumber *piFloat = @3.141592F;// 相当于 [NSNumber numberWithFloat:3.141592F]

NSNumber *piDouble = @3.141592;// 相当于 [NSNumber numberWithDouble:3.141592]

// 是 / 否

NSNumber *yesNumber = @YES;    // 相当于 [NSNumber numberWithBool:YES]

NSNumber *noNumber = @NO;      // 相当于 [NSNumber numberWithBool:NO]

 

2. 新的 NSArray, NSDictionary 输入方法

以前想要创建一个新的 NSDictionary, 你必须不厌其烦地输入:

NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithBool:YES], @"backup",[NSNumber numberWithInt:7],@"daysToKeepBackup",@"foo",@"flags", nil];

现在只用输入:

NSDictionary *options = @{@"backup": @YES,@"daysToKeepBackup": @7,@"flags": @"foo"};就可以达到同样的效果。

NSArray 的输入方法也变得更简单:之前的

NSArray *items = [NSArray arrayWithObjects:@"item1",[NSNumber numberWithBool:YES],[NSNumber numberWithInt:12], nil];

现在只用输入:

NSArray *items = @[ @"item1", @YES, @12 ];

 

3. 嵌套表达式 (Boxed Expressions)

最新版本的 Objective-C 还提供了一种新的书写方式:

@( expression )

BOOL 和 int 的结果有时候需要被计算才能得到。这时候你便可以将表达式放入一对括号中。比如:

NSNumber *total = @(0.2f - 1.9f); //[NSNumber numberWithFloat:0.2f - 1.9f]

NSNumber *piOT = @(M_PI / 2);     //[NSNumber numberWithDouble:(M_PI / 2)]

 

4. 创建新 property 不用再合成

升级到 Xcode 4.4 后,在头文件中创建的 @property 均无需再进行 @synthesize。Xcode 将自动合成。

@synthesize object = _object;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值