- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章目标 了解Objective-C语言 了解Objective-C的特点 了解Cocoa相关框架 掌握Xcode开发工具 理解Objective-C程序的基本结构 Objective-C语言简介 作为编程语言来说,Objective-C有悠久的历史。20世纪80年代初, Brad Cox和Tom Love 以SmallTalk-80语言为基础发明了Objective-C。 Objective-C在C语言的基础上添加了扩展,成为了能够创建和操作对象的一门新的程序设计语言。 1988年,苹果公司前CEO乔布斯的NeXT Computer公司获得了Objective-C语言的授权,并开发出了Objective-C的语言库和一个名为NEXTSTEP的开发环境。 1992年自由软件基金会的GNU支持Objective-C。 Objective-C语言简介 1994年, NeXT Computer和Sun Microsystem联合发布一个针对NEXTSTEP系统的标准典范——OPENSTEP。 1996年12月20日,苹果公司收购NeXT Software公司, NEXTSTEP/OPENSTEP环境成为苹果操作系统主要发行版本OS X的基础。这个版本的开发环境被苹果公司称为Cocoa。 2006年7月,苹果发布Objective-C 2.0,增加了垃圾收集(只支持OS X系统)、属性、快速枚举等语法功能,改进了运行时性能,并添加了对64位系统的支持。 Objective-C语言特点 Objective-C与其它面向对象语言有一些明显的不同,它有这自己鲜明的特色: 兼容性:Objective-C可以说是一种面向对象的C语言,在Objective-C的代码中可以有C和C++语句,它可以调用C的函数,也可以通过C++对象访问方法。 字符串:Objective-C通常不使用C语言风格的字符串。大多数情况下是使用Foundation框架的NSString类型的字符串。NSString类提供了字符串的类包装,支持Unicode,printf风格的格式化工具等等。它是在普通的双引号字符串前放置一个@符号,如下面的例子所示: NSString* myString = @My String\n; Objective-C语言特点 类:Objective-C是一种面向对象的语言,定义类是它的基本能力。Objective-C的类声明和实现包括两个部分:接口部分和实现部分。不允许多继承。 方法:Objective-C是一种面向对象的语言,定义方法也是它的基本能力。Objective-C中方法不是在“.”运算符,而是采用“[]”运算符。有时候方法调用也称为:消息发送。 属性:属性是Objective-C 2.0提出的概念,它是替代对成员变量访问的“读取方法(getter)”和“设定方法(setter)”的手段,为了对类进行封装一般情况下不直接访问成员变量,而是通过属性访问。 Objective-C语言特点 协议:Objective-C中的协议类似于Java中的接口或C++的纯虚类,只有接口部分定义没有实现部分,即只有h文件没有m文件。 分类:Objective-C中的分类是类似与继承机制,通过分类能够扩展父类的功能。 Objective-C语言特点 Objective-C是非常”实用”的语言,它使用一个用c写成的很小的运行库,oc写成的程序通常不会比其源代码和函数库大太多。 Objective-C可以在现存C编译器基础上实现,而不需要编写一个全新的编译器,这个特性使得oc能利用大量现存的c代码、库、工具和编程思想等资源。 Objective-C语言特点 不支持命名空间机制(namespace mechanism)。取而代之的是程序开发者必须在其类别名称加上前缀,由于前缀往往较短(相对命名空间),这经常引致冲突,在2007年,在Cocoa编程环境中,所有Mac OS X类别和函数均有“NS”作为前缀,例如NSObject来分辨他们属于Mac OS X核心;使用“NS”是由于这些类别的名称在NeXTSTEP开发定下的。 Foundation工具包 简称为“Foundation”,首先出现在OpenStep中。在Mac OS X中,它是基于Core Foundation的。作为通用的面向对象的函数库,Foundation提供了字符串,数值的管理,容器及其枚举,分布式计算,事件循环,以及一些其它的与图形用户界面没有直接关系的功能。其中用于类和常数的“NS”前缀来自于Cocoa的来源,NeXTSTEP。它可以在Mac OS X和iOS中使用。 Cocoa简介 Cocoa是苹果公司的面向对象的开发环境,该环境下的任何类都要继承自NSObject(只有
文档评论(0)