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 以后一定要有根视图,否则程序编译报错且运行崩溃

posted on 2017-02-02 01:50  低头捡石頭  阅读(32)  评论(0)    收藏  举报

导航