ios_Cocoa框架 “Foundation”和“UIKit”的区别

Cocoa

我们首先说一下为什么新建一个类的时候我们都是选择Cocoa Class呢?什么是Cocoa?

Cocoa不是一种编程语言(它可以运行多种编程语言),它也不是一个开发工具(通过命令行我们仍然可以开发Cocoa程序),它是创建Mac OS X和IOS程序的原生面向对象API,为这两者应用提供了编程环境。
我们通常称为“Cocoa框架”,事实上Cocoa本身是一个框架的集合,它包含了众多子框架,其中最重要的要数“Foundation”和“UIKit”。前者是框架的基础,和界面无关,其中包含了大量常用的API;后者是基础的UI类库,以后我们在IOS开发中会经常用到。这两个框架在系统中的位置如下图

ios_Cocoa框架 “Foundation”和“UIKit”的区别_第1张图片

Foundation框架

其实所有的Mac OS X和IOS程序都是由大量的对象构成,而这些对象的根对象都是NSObject,NSObject就处在Foundation框架之中,具体的类结构如下:
ios_Cocoa框架 “Foundation”和“UIKit”的区别_第2张图片

ios_Cocoa框架 “Foundation”和“UIKit”的区别_第3张图片
ios_Cocoa框架 “Foundation”和“UIKit”的区别_第4张图片

通常我们会将他们分为几类:

  • 值对象
  • 集合
  • 操作系统服务:文件系统、URL、进程通讯
  • 通知
  • 归档和序列化
  • 表达式和条件判断
  • Objective-C语言服务

UIKit 框架

UIKit框架提供一系列的Class(类)来建立和管理iPhone OS应用程序的用户界面接口、应用程序对象、事件控制、绘图模型、窗口、视图和用于控制触摸屏等的接口。

当引入此头文件后,便可以在程序里使用任何在UIKit里声明的类

UIKit主要用于界面构架,这里我们不妨也看一下它的类结构:
ios_Cocoa框架 “Foundation”和“UIKit”的区别_第5张图片

加入我们需要使用Label(标签),它就属于一个事件控件的类。图表中列出了在UIKit框架中的Class(类)列表,在列表中可以看到它的位置:NSObject→UIResponder→UIView→UILabel

你可能感兴趣的:(知识拓展,UI)