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设备特有硬件的支持,比如使用陀螺仪和加速器的类和触摸式界面,并且去掉了不需要的类哦。
obj-c编程14:Cocoa和Cocoa Touch简介的更多相关文章
- Cocoa与Cocoa Touch的区别
Cocoa是在Mac OS X系统上原生的一个编译环境.他包含两个框架,其实就是一系列的类库,Foundation和AppKit. 在你的iPhone等掌上设备上,使用的则是他的一个子类 - Coco ...
- 理解cocoa和cocoa touch的响应者链
该文章翻译自:Understanding cocoa and cocoa touch responder chain. 转载注明出处:http://www.cnblogs.com/zhanggui/p ...
- 《Java并发编程实战》读书笔记一 -- 简介
<Java并发编程实战>读书笔记一 -- 简介 并发的历史 并发的历史,也是人类利用有限的资源去提高生产效率的一个的例子. 设想现在有台计算机,这台计算机具有以下的资源: 单核CPU一个 ...
- [Cocoa]深入浅出Cocoa之Bonjour网络编程
本文转载至 http://www.cnblogs.com/kesalin/archive/2011/09/15/cocoa_bonjour.html 深入浅出Cocoa之Bonjour网络编程 罗 ...
- [Cocoa]深入浅出Cocoa多线程编程之 block 与 dispatch quene
深入浅出 Cocoa 多线程编程之 block 与 dispatch quene 罗朝辉(http://www.cppblog.com/kesalin CC 许可,转载请注明出处 block 是 Ap ...
- [Cocoa]深入浅出 Cocoa 之 Core Data(1)- 框架详解
Core data 是 Cocoa 中处理数据,绑定数据的关键特性,其重要性不言而喻,但也比较复杂.Core Data 相关的类比较多,初学者往往不太容易弄懂.计划用三个教程来讲解这一部分: 框架详解 ...
- [Cocoa]深入浅出 Cocoa 之消息
深入浅出 Cocoa 之消息 罗朝辉(http://blog.csdn.net/kesalin) 转载请注明出处 在入门级别的ObjC 教程中,我们常对从C++或Java 或其它面向对象语言转过 ...
- Linux C 程序 文件操作(Linux系统编程)(14)
文件操作(Linux系统编程) 创建一个目录时,系统会自动创建两个目录.和.. C语言实现权限控制函数 #include<stdio.h> #include<stdlib.h> ...
- msp430项目编程14
msp430中项目---电子测重系统 1.hx711工作原理 2.电路原理说明 3.代码(显示部分) 4.代码(功能实现) 5.项目总结 msp430项目编程 msp430入门学习
随机推荐
- 插件占坑,四大组件动态注册前奏(二) 系统Service的启动流程
转载请注明出处:http://blog.csdn.net/hejjunlin/article/details/52203903 前言:为什么要了解系统Activity,Service,BroadCas ...
- Python装饰器模式学习总结
装饰器模式,重点在于装饰.装饰的核心仍旧是被装饰对象. 类比于Java编程的时候的包装模式,是同样的道理.虽然概念上稍有不同但是原理上还是比较相近的.下面我就来谈一谈我对Python的装饰器的学习的一 ...
- Tomcat集群应用部署的实现机制
集群应用部署是一个很重要的应用场景,设想一下如果没有集群应用部署功能,每当我们发布应用时都要登陆每台机器对每个tomcat实例进行部署,这些工作量都是繁杂且重复的,而对于进步青年的程序员来说是不能容忍 ...
- 04 Spinner 列表选中
<span style="font-size:18px;"> <?xml version="1.0" encoding="utf-8 ...
- 1068. Find More Coins (30)
题目如下: Eva loves to collect coins from all over the universe, including some other planets like Mars. ...
- Java-IO之PipedReader和PipedWriter
PipedReader和PipedWriter与PipedInputStream和PipedOutputStream一样,都可以用于管道通信.PipedWriter是字符管道输出流,继承于Writer ...
- Docker教程:docker的概念及安装
http://blog.csdn.net/pipisorry/article/details/50754385 Why docker 对于运维来说,Docker提供了一种可移植的标准化部署过程,使得规 ...
- 【Unity技巧】调整画质(贴图)质量
写在前面 当我们在Unity中,使用图片进行2D显示时,会发现显示出来的画面有明显的模糊或者锯齿,但是美术给的原图却十分清晰. 要改善这一状况实际上很简单. 造成这样的原因,是Unity在导入图片(或 ...
- 谈谈Ext JS组件之引子
Ext JS组件,对于Ext JS开发人员来说,应当不会陌生,毕竟做开发,都必须与它打交道.对于这样一个大家都熟悉的东西,为什么要用一个专题的形式来写呢?是否有这方面的需要?还不如去写点使用技巧? 确 ...
- C++ Primer 有感(面向对象编程)
1.除了构造函数之外,任意非static成员函数都可以是虚函数.保留字virtual只在类内部的成员函数声明处出现,不能用在类定义体外部出现的函数定义上. 2.派生类只能通过派生类对象访问其基类的pr ...