萝卜

简单的朴实的东西让我欲罢不能!

WWDC2013 Objective-C 新特性

Coding:

    

      WWDC(Apple Worldwide Developers Conference),苹果开发者大会,苹果开发者怎么能少得了Objective-C,正是它支撑着整个苹果开发生态圈,同样这门语言也代表着苹果的精神和未来方向。这是我最最喜爱的语言,优雅、高端、大气、上档次。对于开发者来说,选择什么平台就意味着去抱谁的大腿,苹果在这点做的就很是出色,苹果凭借着独有一门语言的优势,不断的使Objective-C变的强大易用,一步步地向着现代进化。每年的WWDC,苹果都会带来在Objective-C上的新突破,看看今年的苹果带来的新玩意儿。

      舆论口水喷苹果从设计的引领者倒退到了追随者,胆识在编程语言上的现代化理解,苹果一直独领风骚。


一、Objective-C进化的理念

  1. 开发效率:简化,易用,强大的工具

  2. 软件质量:更容易揪出Bug,预测、实用

这次的革新:Modules、更高效、ARC提升


二、Modules

      之前写代码时,如果加入一些框架,比如iAd、GameCenter等,不能简单的import进来

#import <iAd/iAd.h>

      如果这样引入,直接Build failed。得在工程设置里面,像这样引入框架。

    

这样就显得繁琐,很不易于使用

进化过后的Objective-C支持下面的语句,可以直接导入iAd框架。

@import iAd; (全部导入)

@import iAd.ADBannerView; (选择性导入)

#import <iAd/ADBannerView.h> (支持这种语句,兼容老的代码)

这样一来再也不需要去手动添加框架,同时由于Modules改变了引入的模式,使用新的机制能够一定程度提升性能。

    

    

使用新的Xcode,然后开启Modules,一切就OK了,不用对代码做任何修改!

小结一下Modules

  1. 简化框架的使用,加快导入和链接

  2. 提升IDE性能

  3. 不用对代码做任何修改


三、更高效

    更现代的Objective-C语法

        例如,下面是老的代码写法

-(NSDictionary *)example {

    return [NSDictionary dictionaryWithObjectsAndKeys:

        @"Willie", @"PreferredName",

        @"The Lion", @"NickName",

        @"Smith", @"LastName",

        @"William", @"FirstName",

        [NSArray arrayWithObjects: @"Henry", @"Joseph", 

            @"Bonaparte",@"Bertholoff", nil], @"MiddleNames",

        [NSNumber numberWithInt: 79], @"Age",

        [NSNumber numberWithInt: 1893], @"BirthYear",

        [NSNumber numberWithInt: 1973], @"DeathYear",

        [NSNumber numberWithBool: YES], @"Male",nil];

}

        这个是新的支持语法风格

-(NSDictionary *)example {

    return @{

        @"PreferredName": @"Willie",

        @"NickName": @"The Lion",

        @"LastName": @"Smith",

        @"FirstName": @"William",

        @"MiddleNames": @[ @"Henry", @"Joseph", @"Bonaparte", @"Bertholoff" ],

        @"Age": @79,

        @"BirthYear": @1893,

        @"DeathYear": @1973,

        @"Male": @YES

    };

}

这样以来,减少了很多重复来重复去的输入,极大提升了代码书写效率,也能让代码变的更加易于阅读。现代的语法风格就举一例,更多的用法自行查阅文档。

Objective-C 的语法一直在最求更易阅读,读起来就像英语一样,一目了然,优雅大气。


同时Xcode这个强大的SDK,一直在提升。这次的进化包括:更强的纠错,更安全,枚举类型直接显示类型,甚至还有一个新的关键字(instancetype,使用这个加入了对返回值的纠错)。



四、Garbage Collection(垃圾回收) 和 ARC(Automatic Reference Counting 自动引用计数)

垃圾回收机制已经不再使用,全面使用ARC机制。

ARC的进化

  1. Xcode5.0 使用 ARC, 之前使用的是垃圾回收,提升Xcode性能

  2. 继续优化

  3. 若指针引用效率在iOS7.0和OSX10.9上得到两倍提升

  4. 内存管理更高效

  5. ARC转移器,轻松为老代码使用ARC。

  6. 新的内存管理警告,解决一些使用ARC而遇到的问题,曾经为此纠结过(T_T)


总体来说Objective-C 正是有了 Apple 的对之的不断提升和IDE的不断进化,表现出独特的蓬勃活力,变的更加优雅美丽,不断有新的血液注入,虽然一定程度增加了学习成本,但是换来的是高效和便捷,何乐而不为呢。

评论

热度(2)

©萝卜 | Powered by LOFTER