iOS 编程的几个基本概念

先来说说「Core Foundation」(以下简称CF)的历史吧。当年乔布斯被自己创办的公司驱逐后,成立了「NeXT Computer」,其实做的还是老本行:卖电脑,但依旧不景气。好在NeXTSTEP系统表现还不错,亏损不至于太严重。正好此时苹果的市场份额大跌,急需一个新的操作系统,结果大家都知道了,乔布斯借此收购,重新回到了苹果。

这里就牵扯到了一个问题,如何让旧有的系统(Mac OS 9)和NeXTSTEP合成为一个新系统?这就需要一个更为底层的核心库可以供Mac Toolbox和OPENSTEP双方调用。CF就这么诞生了。


核心是和其他加框架和架构方便“沟通”。 

The programming interfaces of Core Foundation objects have been designed for ease of use and reuse. At a general level, Core Foundation:

  • Enables sharing of code and data among various frameworks and libraries

  • Makes some degree of operating-system independence possible 

  • Supports internationalization with Unicode strings

  • Provides common API and other useful capabilities, including a plug-in architecture, XML property lists, and preferences

Core Foundation makes it possible for the different frameworks and libraries on OS X to share code and data. Applications, libraries, and frameworks can define C routines that incorporate Core Foundation types in their external interfaces; they can thus communicate data—as Core Foundation objects—to each other through these interfaces.


Cocoa是苹果公司为Mac OS X所创建的原生面向对象的API,是Mac OS X上五大API之一(其它四个是Carbon、POSIX、X11和Java)。


cocoa与cocoa Touch区别之分

  1. 相同之处:两者都包含OC运行时的两个核心框架:

  2. cocoa包含Foundation和AppKit框架,可用于开发Mac OS X系统的应用程序

  3. cocoa touch包含Foundation和UIKit框架,可用于开发iPhone OS 系统的应用程序

  4. Cocoa时Mac OS X的开发环境,cocoa Touch是 Iphone OS的开发环境

Cocoa不是一种编程语言(它可以运行多种编程语言),它也不是一个开发工具(通过命令行我们仍然可以开发Cocoa程序),它是创建Mac OS X和IOS程序的原生面向对象API,为这两者应用提供了编程环境。

我们通常称为“Cocoa框架”,事实上Cocoa本身是一个框架的集合,它包含了众多子框架,其中最重要的要数“Foundation”和“UIKit”。前者是框架的基础,和界面无关,其中包含了大量常用的API;后者是基础的UI类库,以后我们在IOS开发中会经常用到。这两个框架在系统中的位置如下图:

iOS 编程的几个基本概念_第1张图片


iOS 编程的几个基本概念_第2张图片

iOS 编程的几个基本概念_第3张图片

iOS 编程的几个基本概念_第4张图片

你可能感兴趣的:(ios开发学习)