iOS:各release版本的特性(持续更新)

来源:互联网 发布:胸肌锻炼方法 知乎 编辑:程序博客网 时间:2024/06/05 22:54

与C和C++不同,Objective-C中不是由一个标准组织控制的,它一开始完全被Stepstone公司掌控,然而现在却被Apple公司取代了。这种完全被一个公司掌控的模式可以算是一个优点和或者缺点。例如,C++规范的新版本的C + +11,历时13年完成。相比之下,Objective-C中可以发展地非常迅速,无需由委员会设计的问题所限制。但对应的缺点是在整个设计过程中,因为没有监督,所以基本上无法被标准化的程序语言所接纳。

经常会说“xx功能/语法”是xcode x的特性或者说iOS x的特性,以前疑惑的一点是:如果xcode 是x.1的版本,然后装了一个低版本的ios sdk (x-1) 版本,那“xx功能/语法”还能用么?个人以前理解是:xcode和ios版本是一一对应,说xcode x跟说ios x一个意思,只不过换个说法。但看了官方文档中developer library/Release Notes里面的what ‘s new in xcode/ios,才明白它俩不是简单的一一对应关系。xcode的更新修改的主要是对IDE的变化,一个语法等得变化;而ios的更新主要是sdk的一些方法/类的变化。但他们有一个正常的对应的关系(依据每个xcode版本都会有support iOS XX的值)。所以个人说“xx功能/特性”统一说成是ios 几点几的特性。因为在开发中,知道ios sdk 多少版本,然后直接可以判断用不用某特性,并且因为deployment target 一般都比较小的原因,在某些时候需要判断实际设备的ios 版本(这些都是跟ios版本有关)。不关注xcode版本原因也是因为如果某特性xcode不支持,那么编译也通不过(正常xcode和ios版本对应关系,只要ios版本满足,xcode基本也没关系)。

本文只写特性的简介,详细介绍参考官方文档:iOS Developer Library中Release Notes中的“what new in Xcode/iOS”。具体使用文章参考iOS.Language&Mech分类。

iOS 5.0

  1. ARC (iOS5.0/xcode4.2)
  2. NSNumber Literals(字面)、Boxed Expressions、Boxed Enums、Boxed C Strings、Container Literals、Object Subscripting下标[]、有类型的enum、默认生成@synthesize代码、for in遍历元素;(iOS5.1/xcode4.4)

iOS 6.0

  1. 关于内存警告:ios6中废除了viewDidUnload,viewWillUnload这两个系统回调, 收到内存警告时在didReceiveMemoryWarning中进行相关的处理。
  2. 关于屏幕旋转:同样ios6 废除了shouldAutorotateToInterfaceOrientation这个旋转屏幕的设置接口。 必须在两个新接口中设置旋转属性:shouldAutorotate + supportedInterfaceOrientations 收到旋转事件后的处理,同样在willRotateToInterfaceOrientation,和didRotateFromInterfaceOrientation中进行。
  3. 高级Collection View和自定义布局;
0 0
原创粉丝点击