1.Cocoa 起源于NeXTSTEP平台,看过《乔布斯传》的读者不会对NeXT Computer 陌生。 Cocoa 是用于开发Mac OS X 应用程序的框架,Cocoa Touch 是针对触摸界面进行大量的定制,并受到手持系统的约束。
2.ios的技术层次:
Cocoa Touch 层:UIKit、MapKit、Game Kit、Message UI/Address/Event KIt UI、iAd
|
多媒体层:AVFoundation、Core Audio、Core Image、Core Graphics、Core Text、Image I/O 、Media Player、OpenGL ES、Quartz Core
|
核心服务层:用于访问比较低级的操作系统的服务,如文件的存取、iCloud存储、联网和众多常见的数据对象的模型。
UIkit:它负责启动和结束应用程序、控制界面和多点触摸事件,让您能够访问常见的数据视图,网页、excel、word。还负责iOS内部众多的集成功能,访问数据库、照片库和加速计也是使用UIKit中的类和方法实现。
MapKit:跟Apple 地图视图有关。
Game Kit:提高iOS应用程序的网络的交互性,提供了创建并使用对等网络的机制,回话发现、仲裁和语音聊天。PS:这个好像很吊,应该会比较有趣。
Message UI/Address/Event KIt UI:帮组我们的程序访问电子邮件、联系人和日历事件。
iAd:加入广告,呵呵。
Core Graphics:实现在应用程序中添加2D绘画和合成功能。
OpenGL ES:OpenGL ES 是OpenGL 框架的子集,适用于嵌入式系统(ES)。OpenGL ES 可用于在应用程序中创建2D和3D动画。
Quartz Core:利用硬件的功能,创建动画。
核心服务层:Accounts、Address Book、CFNetwork、Core Data:用于创建iOS应用程序的数据模型,它提供了一个基于SQLite关系的数据库模型,用于将数据绑定到界面的对象。
Core Fondation、Foundation、Event Kit、Core Location、Core Motion、Newsstand、Pass Kit、Quick Lock 、Social:可以访问Twitter和Facebook的应用程序,无需管理账号信息,不用了解Twitter和Facebook的专用网路的协议。
Store Kit、System Configuration:用于确定设备网络配置的当前状态:连接的是哪个网络?哪些设备可达。
PS:哇塞,框架不要太多,只是一般的了解。
3.applicationDidEnterBackground:让我突然想到了,QQ接收后台的消息应该在这个函数里面实现。
4.核心应用程序类:NSObject、UIApplication(应用程序类)、窗口类(UIWindow)放置视图的容器、视图(UIView)、响应者(UIResponse)、屏幕控件(UIControl)、视图控制器(UIViewController):管理视图的功能