2015 Objective-C 三大新特性.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
Objective-C作为苹果官方支持的编程语言,曾在iOS和OS X应用开发领域占据主导地位。随着Swift语言的推出和普及,Objective-C的热度有所下降,但在2015年的苹果开发者大会(WWDC)上,Objective-C依然迎来了一些重要的更新,旨在与新兴的Swift语言更好地协同工作。本文将详细介绍Objective-C在2015年引入的三大新特性,它们分别是Nullability注解、__kindof关键字和轻量级泛型(Lightweight Generics)。 1. Nullability注解 Nullability注解是Objective-C在处理可选类型(Optional)方面的一个重要进步。自从LLVM 6.1(Xcode 6.3)版本起,开发者就可以在Objective-C代码中使用nullability注解来区分方法参数、返回值或属性是否可以为nil。这有助于提高代码的安全性,让编译器能够在编译时检查可能导致空值相关的错误,从而降低运行时出现空指针异常的风险。 在Nullability出现之前,Objective-C开发者通常会使用NSNull来表示一个空值,这在很大程度上依赖于文档说明和人为的代码约定,而使用Nullability注解后,可以更直观地声明某个对象是否可以为nil,比如使用NonNull表示非空值,使用Nullable表示可以为nil的值。 Nullability注解的使用包括了几个修饰符: - `__nullable`:修饰符用于表示某个变量、属性或参数可以为nil。 - `__nonnull`:修饰符用于表示某个变量、属性或参数不可以为nil。 - `__null_resettable`:这个修饰符用于属性,表示setter方法可以接受nil值,但getter方法保证返回非nil的值。例如,UIViewController中的view属性就是这样的。 为了简化代码,Foundation框架提供了两个宏,NS_ASSUME_NONNULL_BEGIN和NS_ASSUME_NONNULL_END,用于声明接口中大多数属性默认为NonNull,只需对Nullable属性进行显式标注。 2. __kindof关键字 __kindof关键字的引入主要是为了在某些情况下,让类型检查更加精确。它允许在使用继承关系时,让编译器理解并检查特定类型的子类。虽然这部分内容在提供的文档片段中并未详细说明,__kindof可能用于涉及到Objective-C运行时动态类型检查的场景。 3. 轻量级泛型(Lightweight Generics) Objective-C中的轻量级泛型是一个纯粹编译器级别的特性,不需要Objective-C运行时的支持(即不依赖于任何运行时的升级),因此它可以与任何版本的Objective-C兼容,并且能在Xcode 7上直接使用。轻量级泛型的目标是让容器(如NSArray、NSDictionary等)能够知道其包含的对象类型。 在此之前,Objective-C的容器类型如NSArray和NSDictionary都返回id类型的元素,这意味着你不能在编译时得到任何关于数组或字典中元素类型的信息。轻量级泛型的引入意味着开发者可以为容器声明其持有的对象类型,从而在编译时获得更准确的代码提示,并在运行时防止类型不匹配导致的错误。 例如,如果你声明了一个NSArray来保存NSString类型的对象,你可以这样定义: ```objective-c NSArray<NSString *> *strings = @[@"Hello", @"World"]; ``` 在这里,尖括号内的NSString *声明了数组中应持有的类型,使得编译器在编译代码时能够提供更多的类型安全检查。 轻量级泛型的引入极大提高了Objective-C代码的可读性和可维护性,开发者可以在代码中看到明确的类型声明,减少了运行时的类型转换和相关的错误。 Objective-C在2015年引入的新特性,尽管数量不多,但都对提升代码质量、类型安全和开发效率有着不小的作用。这些特性增强了Objective-C在新的编程范式面前的竞争力,并帮助那些仍在使用这门语言的开发者更好地适应Swift与Objective-C混编的现实。
- 粉丝: 48
- 资源: 8282
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 年终奖雷区测试及注意说明.xls
- 谨防年终奖发放的“雷区”.xls
- 年终奖发放税筹、技巧及注意事项.pptx
- 六种薪酬模式下销售员工的年终奖发放策略(技巧篇).doc
- 员工年终奖分配方案(规范行政文件).doc
- 2016年终奖税率表(清晰一览表).docx
- 个税最佳配置表-月薪及年终奖.XLS
- 【化工行业】化学原料及成品制造业年终奖金制度.doc
- 【制造行业】绩效奖金、年终奖金发放办法(通用模板).docx
- 高管层年终奖避税测算表(含各税点测算).xlsx
- 工资年终奖调节试算表(模板).xls
- (3500)年终奖个税自动计算表.xls
- 一次性年终奖审批及发放明细表.xls
- 年终奖、年薪差个人所得税筹划方案测算表.xls
- 绩效奖金发放表(模板样式).xls
- 税前税后工资VS年终奖计算表(灵活-简单).xlsx