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. 数据库内部存储结构探索
  2. 【LeetCode】3月22日打卡-Day7
  3. 用jetty起maven工程debug报source not found
  4. (原创)3.2 AddOwner和OverrideMetadata的区别
  5. CVE-2021-3129:Laravel远程代码漏洞复现分析
  6. CentOS虚拟机 Device eth0 does not seem to be present
  7. webstorm破解
  8. 杜绝采购欺诈:利用SRM系统监控采购计划
  9. Spring依赖注入和简单demo
  10. Windows平台上使用Qt(MinGW)调用基于VS编写的周立功CAN卡Dll文件
  11. MFC 解压7z文件
  12. mac 修改 DNS
  13. mipi接口 1280(RGB)*720 LCD屏开发驱动笔记帖
  14. suse linux 修复模式,用 SuSE Linux Rescue Mode 恢复超级用户口令
  15. 【U8】T6升级U8后打开卡片管理报错
  16. 1rem、1em、1vh(vw)、1px各自代表的含义
  17. STM32系统时钟树分析
  18. python编程8g的内存够么_内存8G够用吗?深入解读~
  19. RecyclerView之点击item变色
  20. VS Code工作区用法

热门文章

  1. Java游戏项目之黄金矿工
  2. PHP京东商城爬取网页乱码问题解决
  3. 社科院与杜兰大学金融管理硕士项目—努力的你,值得拥有更好的人生
  4. 少数民族高考成绩查询2021,2021少数民族高考加多少分?
  5. Unity项目优化——Web版
  6. 文件包含漏洞和上传漏洞
  7. vscode使用angular
  8. c语言速成pdf,c语言速成_笔记.pdf
  9. html速成项目,HTML速成教材.doc
  10. meri oracle view_Oracle Siebel CRM