Cocoa Touch 框架是iOS开发的基础,了解Cocoa Touch框架,对我们开发iOS软件有很大的帮助。
-
Cocoa Touch是什么?
Cocoa Touch 是 iOS操作系统的程序的运行环境。
Cocoa区别于Cocoa Touch, 两者都包含OC运行时的两个核心框架。
Cocoa包含Foundation和AppKit框架,可用于开发Mac OS X系统的应用程序。
Cocoa Touch包含Foundation和UIKit框架,可用于开发iPhone OS 系统的应用程序。
Cocoa是Mac OS X的开发环境,Cocoa Touch是 iPhone OS的开发环境。
请注意:术语 “Cocoa” 经常被用于泛指所有基于Objective-C运行时且派生自根类(NSObject)的类或对象
Cocoa程序是由一些对象组成,而这些对象的类最后都是继承于它们的根类 :NSObject。而且它们都是基于Objective-C运行环境的。
-
Cocoa framework
Cocoa本身是一个框架的集合,它包含了众多子框架,其中最重要最基本的两个框架是:Foundation 和 UIKit。
Foundation 是框架的基础,和界面无关,其中包含了大量常用的API;后者是基础的UI类库,以后我们在iOS开发中会经常用到。这两个框架在系统中的位置如下图
-
Foundation 框架
iOS程序都是由大量的对象构成,而这些对象的根对象都是NSObject,NSObject就处在Foundation框架之中,具体的类结构如下:
将上图Foundation框架中的类进行逻辑分类如下:
- 值对象
- 集合
- 操作系统服务包括下面三个:文件系统、URL和 进程间通讯。 这个范畴中的大部分类代表不同的系统端口、套接字、和名字服务器,对实现底层的IPC很有用。NSPipe代表一个BSD管道,即一种进程间的单向通讯通道。 线程和子任务。 NSThread类使您可以创建多线程的程序,而各种锁(lock)类则为彼此竞争的线程在访问进程资源时提供各种控制机制。通过NSTask,您的程序可以分出 一个子进程来执行其它工作或进行进度监控。
- 通知
- 归档和序列化
- 表达式和条件判断
- Objective-C语言服务
-
UIKit 框架
应用程序可以通过三种方式使用UIKit创建界面
1. 在用户界面工具(interface Buidler)从对象库里 拖拽窗口,视图或者其他的对象使用。
2. 用代码创建
3. 通过继承UIView类或间接继承UIView类实现自定义用户界面
框架类组织架构图:
在图中可以看出,UIResponder 类是图中最大分支的根类,UIResponder处理响应事件和响应链,定义了界面和默认行为。当用户用手指滚动列表或者在虚拟键盘上输入时,UIKit就生成事件传送给UIResponder响应链,直到链中有对象处理这个事件。
相应的核心对象,比如:UIApplication ,UIWindow,UIView都直接或间接的从UIResponder继承。