obj-c编程14:Cocoa和Cocoa Touch简介

    这一篇篇幅相对少很多,几乎没有代码,全部都要靠本猫的语言组织能力啊!Cocoa框架在前面讲解F库时曾简单做过介绍,现在再具体说一说喽。各位童鞋是否已经发现鸟,前面所写的所有代码都是基于终端(或称之为console控制台)模式,我们有时希望编写窗口下的obj-c程序哦。Cocoa是一种为os x应用程序提供丰富用户体验的框架,实际上由3个框架组成:

1 基本类Foundation框架

2 便于数据库存储和管理数据的Core Data框架

3 提供窗口、视图、文档以及和多用户界面相关类的Application Kit(AppKit)框架

框架层次示意图如下:

其中kernel以设备驱动程序的形式提供与硬件的底层交互;

核心服务层提供比在其之上各层更底层的功能,比如提供对集合、网络、调试、文件管理、文件夹、内存管理、线程、时间和电源的管理;

应用服务层包括打印和图像渲染支持,包括Quartz、OpenGL以及Quicktime;

Cocoa层位于应用程序层之上,提供处理集合(建立在核心服务层集合功能之上)、字符串、内存管理、文件系统、存档等相关的类。

需要说明的是,某一层可能会直接“穿越”到下下层的功能中去,比如F库中处理文件系统的类直接依赖于核心服务层的功能,实际上跳过了应用服务层。

    Cocoa介绍完了,下面轮到Cocoa Touch喽,顾名思义,该框架应用于ios设备上应用程序的开发,其中包括:

1和2 Foundation和Core Data框架,这个和Cocoa相同

3 UIKit框架类似于AppKit,提供很多相同类型对象的支持,比如窗口、视图、按钮、文本域等。

    另外,Cocoa Touch还提供对ios设备特有硬件的支持,比如使用陀螺仪和加速器的类和触摸式界面,并且去掉了不需要的类哦。

时间: 2024-09-12 05:04:08

obj-c编程14:Cocoa和Cocoa Touch简介的相关文章

VMware 虚拟化编程(14) — VDDK 的高级传输模式详解

目录 目录 前文列表 虚拟磁盘数据的传输方式 Transport Methods Local File Access NBD and NBDSSL Transport SAN Transport HotAdd Transport 前文列表 VMware 虚拟化编程(1) - VMDK/VDDK/VixDiskLib/VADP 概念简析 VMware 虚拟化编程(2) - 虚拟磁盘文件类型详解 VMware 虚拟化编程(3) -VMware vSphere Web Service API 解析 V

多线程编程(14)

function CreateWaitableTimer( lpTimerAttributes: PSecurityAttributes; {安全} bManualReset: BOOL; {True: 可调度多个线程; False: 只调度一个线程} lpTimerName: PWideChar {名称} ): THandle; stdcall; {返回句柄} function SetWaitableTimer( hTimer: THandle; {句柄} var lpDueTime: TLa

《 Python树莓派编程》——第1章 树莓派简介 第1.1 树莓派的历史

第1章 树莓派简介 如果你现在有一台树莓派,你会用它来做什么呢?也许你已经熟悉了树莓派的基本结构,正在考虑可以拿它来做些什么:也许你之前使用过计算机但并不熟悉Linux或树莓派默认的Raspbian操作系统:也许你已经是一位Linux系统的爱好者,但却不知道如何用Python进行编程,而且正准备好好学一学:也许你根本就不了解计算机,仅仅停留在点击"开始"菜单,转发电子邮件,上网等操作,但是听说过"树莓派"这么个新奇的东西,想了解一下它到底是什么. 无论是何原因,欢迎

我的opengl编程学习(一)(简介、绘制图像、三维观察、光照)

这是我第二次学习OPENGL,第一次学习是在大二的计算机图形学课堂上,那是对opengl只是走马观花,现在过了两年,我打算把opengl进行新一编完整而系统的学习,有三个目的:1.熟练掌握opengl编程,2从opegl的体系中加深对计算机图形渲染管线的整个体系的了解,作为深入学习GPU编程的进阶,3.制作好看的CG作品. 这里是我在学习<opengl programming guide fifth edition>过程的从头到尾的整个的学习笔记,放在这里,给自己做个以后的参考,也想与大家交流

《MySQL高效编程》一一1.1 数据库简介

1.1 数据库简介 MySQL高效编程数据库起源于第二次世界大战中,美军为了更有效率地管理大量的资料,而将数据信息集中到一个基地来进行管理,这个集合数据信息的基地就被称为数据库(Database).现在,数据库意味着以某种规则收集数据,且一般情况下具有对收集的数据进行"插入"."检索"."抽出"操作等功能. 将数据收集在一起并不能称为数据库,只有具有能利用数据信息的功能时才能被称为数据库.因此,通常提到"数据库"这个专用名词时

Java图形化编程中的键盘事件设计简介_java

键盘事件的事件源一般丐组件相关,当一个组件处于激活状态时,按下.释放或敲击键盘上的某个键时就会发生键盘事件.键盘事件的接口是KeyListener,注册键盘事件监视器的方法是addKeyListener(监视器).实现KeyListener接口有3个: keyPressed(KeyEvent e):键盘上某个键被按下: keyReleased(KeyEvent e):键盘上某个键被按下,又释放: keyTyped(KeyEvent e):keyPressed和keyReleased两个方法的组合

jQuery编程中的一些核心方法简介_jquery

调用 jQuery 对象的方法很简单: $('h1').remove(); 大多数 jQuery 方法都是像上面这样被调用的,这些方法都位于 $.fn 命名空间内,这些方法称为 jQuery 对象方法. 但是也有一些方法不需要依赖于选择器的结果集,这些方法位于 jQuery 命名空间内,这些方法称为 jQuery 核心方法.如果觉得不好理解,记住下面两条即可:     所有 jQuery 选择器的方法都位于 $.fn 命名空间内.     $ 内的方法一般都是一些实用的功能性方法,这些方法不依赖

用于简化MapReduce编程的Java库Apache Crunch简介

Apache Crunch(孵化器项目)是基于Google的FlumeJava库编写的Java库,用于创建MapReduce流水线.与其他用来创建 MapReduce作业的高层工具(如Apache Hive.Apache Pig和Cascading等)类似,Crunch提供了用于实现如连接数据.执行 聚合和排序记录等常见任务的模式库.而与其他工具不同的是,Crunch并不强制所有输入遵循同一数据类型.相反,Crunch 使用了一种定制的类型系统,非常灵活,能够直接处理复杂数据类型,如时间序列.H

Heritrix1.14.4 Web后台使用简介

   启动Heritrix后,访问http://localhost:6789就可以打开Heritrix的登录界面,登录后即进入了Heritrix Web后台的主页: console: Heritrix的控制台,会显示Heritrix的抓取任务和分配给Heritrix的Heap使用情况    Jobs:Heritrix的抓取任务界面,比如创建抓取任务,已挂起的任务,已完成的任务统计    Profiles:Heritrix抓取任务相关的配置    Logs:Heritrix的运行日志    Rep