iOS篇 - iOS迭代
1 - Objective-C 起初不支持垃圾回收机制,但在 Objective-C 2.0 中后也提供了垃圾回收机制,不过 iOS 在移动终端设备中并不支持垃圾回收机制。Xcode 4.2 起开始支持自动释放功能(ARC 机制),Xcode 5.0 及其以后的版本中,系统缺省的工程模板是设置生 ARC
2 - @synthesize 在 Xcode 4.5 之后会在内部自动生成,不需要手动添加,其作用如下
① 通知编译器自动为我们创建设置器和访问器
② 生成私有的带下划线的成员变量
3 - -drain 方法只适用于 Mac OS X 10.4 以及以上版本,而 -release 方法适用于 Mac OS 所有版本
4 - _weak 概念的新特性是从 iOS 5 / Mac OS X 10.7 开始导入的
5 - 在 OC 2.0 中,提供点语法来访问属性,但是之前我们使用 KVC 来访问
6 - block 是苹果最推崇的语法,iOS 4.0 之后的类都添加了 block 支持,block 通常当参数来使用
7 - 在 iOS 8.0 之后,UIAlertView 和 UIActionSheet 这两个控件被 UIAlertController 代替,以一种模块化替换的方式来代替这两这两个控件的功能和作用
8 - 在 UI 外观上,自 iOS 7 开始,发生了重大变化:由以线条为主,倾向于扁平化转变为更着重于体现应用程序的内容。iOS 7 之前的 UI 外观则以虚拟化为主,注重立体、阴影的配搭,无形中降低了应用程序内容的地位
9 - iOS 6.0 之后版本
① 采用 info.plist 的 UISupportedInterfaceOrientations 来控制方向
② 若直接在 UIwindow 中加载视图,该方法可以脱离 info.plist 的控制,shouldAutorotate 来自定义方向
③ 若使用 rootViewController 添加 shouldAutorotate 方法,会受到 info.plist 的限制
以上方法都受限于顶层视图控制,如果要在子视图控制器中添加旋转效果,则需要在顶层视图控制器中开启 shouldAutorotate 方法
10 - Autoreleasepool:在 iOS 5 之后不再推荐使用 NSAutoreleasePool 类,而采用 @autoreleasepool 进行替代
11 - 在 xcode 7 以后一定要有根视图,否则程序编译报错且运行崩溃
浙公网安备 33010602011771号