1、Cocoa是什么?

Cocoa是OS X和 iOS操作系统的程序的运行环境。

是什么因素使一个程序成为Cocoa程序呢?不是编程语言,因为在Cocoa开发中你可以使用各种语言;也不是开发工具,你可以在命令行上就可以创建Cocoa程序。Cocoa程序可以这么说,它是由一些对象组成,而这些对象的类最后都是继承于它们的根类 :NSObject。而且它们都是基于Objective-C运行环境的。

1.1、Cocoa框架

iOS中,Cocoa众多框架中最重要最基本的两个框架是:Foundation 和 UIKit。

Foundation 和界面无关,也可以说和界面无关的类基本是Foundation框架的,和界面相关的是UIKit框架。

这两个框架在系统中处于的位置如图:

1.2、Foundation框架

好吧,那我们看看两个框架的类组织架构图,第一个先看Foundation的,三个图,包括了Foundation所有的类,图中灰色的是iOS不支持的,灰色部分是OS X系统的。

 

将上图Foundation框架中的类进行逻辑分类如下:

  1. 值对象

  2. 集合

  3. 操作系统服务 包括下面三个:文件系统和URL   进程间通讯。 这个范畴中的大部分类代表不同的系统端口、套接字、和名字服务器,对实现底层的IPC很有用。NSPipe代表一个BSD管道,即一种进程间的单向通讯通道。   线程和子任务。 NSThread类使您可以创建多线程的程序,而各种锁(lock)类则为彼此竞争的线程在访问进程资源时提供各种控制机制。通过NSTask,您的程序可以分出      一个子进程来执行其它工作或进行进度监控。

  4. 通知

  5. 归档和序列化

  6. 表达式和条件判断

  7. Objective-C语言服务

1.3 UIKit框架

应用程序可以通过三种方式使用UIKit创建界面

  1. 在用户界面工具(interface Buidler)从对象库里 拖拽窗口,视图或者其他的对象使用。

  2. 用代码创建

  3. 通过继承UIView类或间接继承UIView类实现自定义用户界面

框架类组织架构图:

在图中可以看出,responder 类是图中最大分支的根类,UIResponder为处理响应事件和响应链 定义了界面和默认行为。当用户用手指滚动列表或者在虚拟键盘上输入时,UIKit就生成时间传送给UIResponder响应链,直到链中有对象处理这个事件。相应的核心对象,比如:UIApplication  ,UIWindow,UIView都直接或间接的从UIResponder继承。

转载于:https://www.cnblogs.com/AnnieBabygn/p/7872950.html

Cocoa-Cocoa框架相关推荐

  1. Core Foundation 与 cocoa Foundation框架区别

    Core Foundation框架 (CoreFoundation.framework) 是一组C语言接口,它们为iOS应用程序提供基本数据管理和服务功能.下面列举该框架支持进行管理的数据以及可提供的 ...

  2. Cocoa Touch框架与构建应用界面

    step -1:视图控制器的分类与周期 1.分类: 1> UIViewController:用于自定义视图控制器的导航. 2>UINavigationController:导航控制器,与U ...

  3. NeXT,NEXTSTEP,OPENSTEP,Cocoa,Cocoa Touch,GNUstep,xcode

    NeXT电脑公司(随后更名为NeXT软件公司)是一间设立在美国加利福尼亚州红木城的电脑公司,专门制造和开发高等教育和商业市场上的工作站电脑.NeXT是由苹果公司(当时称为苹果电脑)的创办人史蒂夫·乔布 ...

  4. Cocoa 框架 For iOS(一) 框架的介绍,Objectivie-C运行时能力的解析等 (转载)

    http://blog.csdn.net/totogo2010/article/details/8081253 Cocoa框架是iOS应用程序的基础,了解Cocoa框架,对开发iOS应用有很大的帮助. ...

  5. 苹果官方指南:Cocoa框架(1)

    是什么因素使一个程序成为Cocoa程序呢?肯定不是编程语言,因为在Cocoa开发中您可以使用各种语言;也不是开发工具,因为您在命令行上就可以创建Cocoa程序(虽然那会使开发过程变得复杂,且需要消耗大 ...

  6. 【iOS开发】从Cocoa框架说开去--Fundation框架系列

    [Cocoa简介] Cocoa是苹果公司为Mac OS X所创建的原生面向对象API 是Mac OS X上五大API之一.(其他四个:Carbon POSIX X11 Java)它是苹果的面向对象开发 ...

  7. [Cocoa]深入浅出Cocoa之Core Data(4)- 使用绑定

    深入浅出 Cocoa 之 Core Data(4)- 使用绑定 罗朝辉 (http://www.cnblogs.com/kesalin/) 本文遵循"署名-非商业用途-保持一致"创 ...

  8. Cocoa Touch事件处理流程--响应者链

    一.事件分类 对于IOS设备用户来说,他们操作设备的方式主要有三种:触摸屏幕.晃动设备.通过遥控设施控制设备.对应的事件类型有以下三种: 1.触屏事件(Touch Event) 2.运动事件(Moti ...

  9. iOS开发笔记 2、Cocoa简明

    历史 NeXSTEP Many years ago Cocoa was known as NeXTSTEP . NeXT Computer developed and released version ...

  10. Using Swift with Cocoa and Objective-C(Swift 2.0版):开始--基础设置-备

    这是一个正在研发的API或技术的概要文件,苹果公司提供这些信息主要是为了帮助你通过苹果产品使用这些技术或者编程接口而做好计划,该信息有可能会在未来发生改变,本文当中提到的软件应该以最终发布的操作系统测 ...

最新文章

  1. Maven 手动添加 JAR 包到本地仓库
  2. 百度ACE智能交通能提升最高30%城市通行效率,刚刚拿下世界互联网大会最高荣誉...
  3. jmeter参数化之用户参数
  4. 我的一个树莓派小车项目
  5. netbeans php 安装教程,php_xdebug安装+NetBeans的配置和使用
  6. 如何才能招到马云这样的人才?海尔张瑞敏这样说...
  7. 自动驾驶领域常用的数据集(检测,分割,定位)
  8. 【Struts1】--beanutils
  9. MySQL数据库使某个不是主键的字段唯一
  10. php改时间戳,如何实现转换php时间戳
  11. 电脑开机出现press f11 to start recovery system问题分析与解决
  12. 毕设教程系列 - FCM模糊聚类算法
  13. 《我喜欢生命本来的样子》周国平 .mobi .epub .pdf .azw3 电子版下载 读书笔记
  14. 群智能优化算法学习规划
  15. Qt开发经验小技巧176-180
  16. c语言程序设计操作,c语言编程入门相关详细操作
  17. windows系统设置定时开关机的方法
  18. 17岁少年攻击航司系统获刑,网络攻击猖獗如何破?
  19. 《Python深度学习》3.4电影评论分类:二分类问题
  20. python hdf5_安装HDF5 1.8 和H5PY--HDF5和python接口

热门文章

  1. 开源项目zheng运行环境
  2. css将商品加入购物车,vue实现点击商品加入购物车动画
  3. 计算机高考计划,职中高三计算机高考复习计划
  4. Android开发常见问题汇总
  5. Surface Go1 与Surface Go2的不同 (非专业对比)
  6. 修改windows软件图标
  7. 搜狗皮肤.php,搜狗皮肤制作
  8. RocketMQ-单条消息大小上限
  9. 中职计算机教学工作随笔,教学随笔(精选15篇)
  10. python PIL Image 图像处理基本操作