• WWDC2013 Objective-C 新特性


    wwdc2013

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

    一、Objective-C进化的理念

    1. 开发效率:简化,易用,强大的工具
    2. 软件质量:更容易揪出Bug,预测、实用

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

    二、Modules

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

    #import <iAd/iAd.h>  (错误)

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

    build-xcode

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

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

    @import iAd; (全部导入)

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

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

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

    improve_build improve_index

    使用新的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的不断进化,表现出独特的蓬勃活力,变的更加优雅美丽,不断有新的血液注入,虽然一定程度增加了学习成本,但是换来的是高效和便捷,何乐而不为呢。

  • 相关阅读:
    TouTiao开源项目 分析笔记19 问答内容
    TouTiao开源项目 分析笔记18 视频详情页面
    TouTiao开源项目 分析笔记17 新闻媒体专栏
    TouTiao开源项目 分析笔记16 新闻评论
    TouTiao开源项目 分析笔记15 新闻详情之两种类型的实现
    TouTiao开源项目 分析笔记14 段子评论
    计算机专业大学课程学习路线图
    Windows GitLab使用全过程
    2017年最后一天
    生成6个1~33之间的随机整数,添加到集合,并遍历集合
  • 原文地址:https://www.cnblogs.com/zsw-1993/p/4879732.html
Copyright © 2020-2023  润新知