1. 必备常识

Cocoa

是什么?

Cocoa是苹果公司为macOS创建的面向对象的编程环境。
Cocoa应用程序一般使用Xcode编写。
对终端用户来说,使用Cocoa编程环境开发的应用程序即为Cocoa应用程序。
Cocoa本身由Objective-C语言写成,因此Objective-C是开发Cocoa应用的首选语言。

为什么Cocoa中类名中常含有NS前缀?

Cocoa是从NeXT公司(乔布斯创建)开发的编程环境NeXTSTEP和OPENSTEP演变而来。NS代表的就是NeXTSTEP。

内存管理

Cocoa环境的特点就是可以管理动态分配的内存。Cocoa的绝大多数类都继承自NSObject,它实现了引用计数的内存管理模型。
NSObject继承来的类可以响应retainrelease消息,以增减其引用计数;也可以通过retainCount消息来获取其引用计数。
一个以alloc``copy``new所创建的对象,引用计数为1;向对象发送retain消息,引用计数将加1;向对象发送release消息,引用计数将减1;当引用计数减为0的时候,对象会销毁。dealloc消息类似于析构函数,在对象被销毁之前(可能)会被调用。

主要框架

Cocoa包含两个主要的Objective-C对象库,称为“框架”。框架的功能类似于动态库,即可以在运行时动态的载入应用程序的地址空间,但框架作为一个捆绑 (计算机)而非独立文件,其中除了可执行代码外,也包含了资源,头文件和文档。

  • Foundation工具包,或简称为Foundation,首先出现在OpenStep中。在Mac OS X中,它是基于Core Foundation的。作为通用的面向对象的函数库,Foundation提供了字符串,数值的管理,容器及其枚举,分布式计算,事件循环,以及一些其它的与图形用户界面没有直接关系的功能。其中用于类和常数的“NS”前缀来自于Cocoa的来源NeXTSTEP。它可以在Mac OS X和iOS中使用。
  • 应用程序工具包,或称AppKit(Application Kit)是直接派生自NeXTSTEP的AppKit的。它包含了程序与图形用户界面交互所需的代码。它是基于Foundation创建的,也使用“NS”前缀。它只能在Mac OS X中使用。
  • “用户界面工具包”,或称UIKit(User Interface Kit),是用于iOS的图形用户界面工具包。与AppKit不同,它使用“UI”的前缀。
Core Foundation与Foundation
Xcode是什么

Xcode是苹果公司向开发人员提供的集成开发环境。前身是继承字NeXT公司的Project Builder。

集成开发环境(Integrated Development Environment) IDE

辅助开发人员开发软件的工具软件。

Copyright © shuoliu.com 2018 all right reserved,powered by Gitbook该文件修订时间: 2018-09-03 03:46:41

results matching ""

    No results matching ""