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继承。

最新文章

  1. WPF CheckBox 样式
  2. HTML5 CANVAS画图 beginPath和closePath
  3. C#中如何排除/过滤/清空/删除掉字符串数组中的空字符串
  4. Oracle的sql语句中case关键字的用法 & 单双引号的使用
  5. arcpy批量打印地图
  6. ASP.NET从MVC5升级到MVC6
  7. SE 2014年4月4日
  8. Android手势识别总结
  9. HI3531网络tftp、nfs加载
  10. Java锁机制了解一下
  11. [Swift]LeetCode983. 最低票价 | Minimum Cost For Tickets
  12. nodejs 实现文件拷贝
  13. jsp中相对路劲
  14. Facelets应用程序的生命周期
  15. flexible
  16. 3.2Python的循环结构语句:
  17. C#列表所有IIS站点以及相关站点属性
  18. An application icon
  19. “全栈2019”Java异常第二十章:自定义异常详解
  20. 20155202 2016-2017-2 《Java程序设计》第1周学习总结

热门文章

  1. 如何正确在IDEA 里maven构建的项目中引入lib的jar包(图文详解)
  2. Codeforces Round #250 (Div. 1)
  3. 通过Chrome执行watir-webdriver
  4. UEditor的KityFormula在IIS中部署,显示不了的解决方案
  5. 公司开发部门GIT与SVN 之争
  6. ES-Mac OS环境搭建(2)
  7. VBA小记
  8. datagrid数据网格获取所有选中行的索引,插入某个列值为其他列的运算值
  9. silverlight GPS监控,视频监控界面
  10. 继承UIView的初始化 、重绘、以及绘制图片