1、Cocoa
iOS中,Cocoa众多框架中最重要最基本的两个框架是:Foundation 和 UIKit。
Foundation 和界面无关,也可以说和界面无关的类基本是Foundation框架的,和界面相关的是UIKit框架。
这两个框架在系统中处于的位置如图:
然后具体每个层的具体框架分类如下图:
2、Cocoa Touch
Cocoa触摸层包含关键框架为构建iOS应用程序。这些框架定义应用程序的外观。他们还提供基本的应用程序基础设施和支持多任务处理等关键技术,触摸式输入,推送通知,许多高级系统服务。在设计应用程序时,你应该先调查技术在这一层,看看是否满足你的需求。
苹果官方文档说Cocoa Touch Frameworks由下面这些框架提供服务:(传送门)
Address Book UI Framework
EventKit UI Framework
GameKit Framework
MapKit Framework
iAd Framework
Notification Center Framework
PushKit Framework
Message UI Framework
Twitter Framework
UIKit Framework(这个肯定是重点)
3、重新理解:
以前的认识:Cocoa 就是苹果API所有的统称,Cocoa Touch就是iOS App开发最上面的一个层,具体划分框架很模糊。
从新认识:仔细品味你就会发现,苹果这个层数的划分是很科学的,Cocoa Touch类似硬件的应用层,是用户跟手机交互触摸、收到消息、发送消息、地图、地址、当然还有最总要的UiKit,画面的生成,RUNLOOP生命周期程序最基本的搭建都要靠它。