《Objective-C基础教程》读书笔记12—UIKit简介

Mac应用程序使用的是AppKit框架,而iOS应用程序使用的是UIKit框架,它包含了所有的UI组件和构成iOS应用程序的资源。
iOS在以下方面与OS X不同:
①没有shell和控制台。
②应用程序在Mac电脑的模拟器中运行。
③无法支持一些无UI界面的API。
④大部分程序员都认为开发iOS应用更加轻松。
1.1 视图控制器
Cocoa主要使用的是MVC模式。确实,我们在应用程序拥有一个视图、一个控制器以及一组数据。
我们是从nib文件中获取视图的。这种方式非常便利。
UIViewController知道如何管理视图,比如将其放在屏幕上、调整大小、旋转,等等。
File’ s Owner : 其实当你在加载nib文件的时候,会有一个控制器作为它的拥有者。当通过模板自动创建nib文件和控制器时,模板会让控制器成为nib文件的拥有者。
视图控制器会在nib文件加载和对象初始化完成后调用viewDidLoad方法。当viewDidLoad方法调用了,你便能确定你的nib文件已经加载完毕了。
viewDidUnload: 视图从视图层级中移除后会调用这个方法,其目的是为了保护内存不会泄露。
iOS不支持虚拟内存。应用程序只能使用设备中可用的内存。如果使用了太多的内存,iOS将会强行退出应用程序。我们可以通过viewDidUnload方法在事后清理内存。
在iOS(尤其是iPhone)应用程序中,大多数情况下,一个视图离开后另一个视图会来填满屏幕。此时,先前的视图看不到了,也就不需要保留它了。iOS需要卸载视图来节约内存,所以viewDidUnload方法可以帮助我们移除视图上的各项内容以节约一些内存。
viewDidLoad和ViewDidUnload在视图的生命周期内只会调用到一次。而与之相对应的四个方法(viewWillAppear, ViewDidAppear、ViewWillDisappear、ViewDidDisappear)
也会在视图离开或出现的时候得到调用。每当条件合适的时候它们就会被调用,即便视图没有卸载。

你可能感兴趣的:(《Objective-C基础教程》读书笔记12—UIKit简介)