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简介
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
- 关于资源 适用于计算机程序的资源是与程序可执行代码相关的数据文件。资源可以通过将代码之外的复杂数据集或图形内容创建...
- 译者注:本文是对 Apple 官方文档的翻译,原文地址为:https://developer.apple.com/...