技术教育社区
www.teccses.org

Objective-C程序设计-第6版

封面

作者:StephenG.Kochan

页数:520

出版社:电子工业出版社

出版日期:2014

ISBN:9787121237157

电子书格式:pdf/epub/txt

内容简介

objective-c已经成为mac os x与ios平台上开发应用程序的标准程序设计语言。这一简单但强大的面向对象语言是以c语言为基础的。objective-c除了可在apple的操作系统平台上使用外,也适用于其他的操作系统,包括 linux、unix 以及windows。

本书是针对初学者编写的一个完整又循序渐进的objective-c语言权威入门。阅读本书,不需要先学过c语言或其他面向对象语言。本书包含许多详细且实用的范例,用来告诉你如何在实践中运用objective-c。

本书第6版的内容已全面更新,覆盖新版ios 、xcode及os x mavericks等所有重要升级要点。

本书完整展示如何利用foundation framework所提供的丰富自带类库(library
of classes),并对ios 程序设计原理有所讲解。

作者简介

Stephen G. Kochan是多本畅销书的作者或合著者,其中有关于C语言的,包括Programming in C、Programming in ANSI C和Topics in C
Programming,也有关于UNIX的,包括Exploring the UNIX System和UNIX Shell Programming。从1984年Mac最初面世时,他就已经在Macintosh计算机上编程,他编写的Programming C for the Mac是Apple Press Library的一部分。2003年,Kochan编写了Programming in
Objective-C,之后编写了另一本与Mac有关的书籍Beginning AppleScript。

相关资料

这是我读过的介绍程序语言书中最好的一本,如果你想学objective-c,切莫犹豫!

——calvin wolcott

对于想要以objective-c作为第一门程序设计语言的初学者来说,这本书是一个非常好的资源。

——pat hughes

本书特色

《objective-c程序设计》是为在苹果ios和os x平台上,使用objective-c语言和面向对象程序设计模式进行专业开发而编写的简洁、细致的入门读物。本书假设读者无面向对象程序语言或c语言编程经验,以保障初学者与有经验的程序员一样,可用本书迅速和有效地学习objective-c。本书提供的学习方法独特,结合众多程序示例及章末练习,使得《objective-c程序设计(第6版)》同时适合自学和课堂教学。第6版已全面更新,充分纳入objective-c的新功能与技术,同时覆盖对新版xcode、ios和mac os x mavericks的介绍。

目录

预览目录

1引言      1

第一部分objective-c语言

2objective-c编程   9

3类、对象和方法 29

4数据类型和表达式      53

5循环结构      73

6选择结构      95

7 129

8继承      155

9多态、动态类型和动态绑定      181

10变量和数据类型        199

11分类和协议        223

12预处理程序        239

13基本的c语言特性    253

第二部分foundation框架

14foundation框架简介 311

15数字、字符串和集合        315

16使用文件    379

17内存管理和自动引用计数        409

18复制对象    423

19归档    435

第三部分cocoacocoa touchiossdk

20cocoacocoa touch简介        453

21编写ios应用程序     457

附录a术语表         489

附录b地址簿示例源代码     501

 

目录

1引言      1

1.1  本书内容        2

1.2  本书组织方式        3

1.3  支持        5

1.4  致谢        6

1.5  6版前言    7

第一部分objective-c语言

2objective-c编程   9

2.1  编译并运行程序   9

2.1.1  使用xcode 10

2.1.2  使用terminal      17

2.2  解释第一个程序   20

2.3  显示变量的值        24

2.4  小结        26

2.5  练习        27

3类、对象和方法 29

3.1  到底什么是对象   29

3.2  实例和方法   30

3.3  用于处理分数的objective-c   32

3.4  @interface部分    35

3.4.1  选择名称    35

3.4.2  类方法和实例方法    37

3.5  @implementation部分 39

3.6  program部分         41

3.7  实例变量的访问及数据封装        47

3.8  小结        51

3.9  练习        51

4数据类型和表达式      53

4.1  数据类型和常量   53

4.1.1  int类型        53

4.1.2  float类型    54

4.1.3  char类型    54

4.1.4  限定词:longlong longshortunsignedsigned   55

4.1.5  id类型         56

4.2  算术表达式   57

4.2.1  运算符的优先级         57

4.2.2  整数运算和一元负号运算符    60

4.2.3  模运算符    62

4.2.4  整型值和浮点值的相互转换    63

4.2.5  类型转换运算符         65

4.3  赋值运算符   66

4.4  calculator  67

4.5  练习        70

5循环结构      73

5.1  for语句  74

5.1.1  键盘输入    81

5.1.2  嵌套的for循环  83

5.1.3  for循环的变体   85

5.2  while语句      86

5.3  do语句  90

5.4  break语句      92

5.5  continue语句         92

5.6  小结        93

5.7  练习        93

6选择结构      95

6.1  if语句     95

6.1.1  if-else结构 100

6.1.2  复合条件测试    103

6.1.3  嵌套的if语句     106

6.1.4  else if结构  107

6.2  switch语句    117

6.3  boolean变量 120

6.4  条件运算符   125

6.5  练习        127

7 129

7.1  分离接口和实现文件   129

7.2  合成存取方法        135

7.3  使用点运算符访问属性        137

7.4  具有多个参数的方法   139

7.4.1  不带参数名的方法    141

7.4.2  关于分数的操作         141

7.5  局部变量        145

7.5.1  方法的参数         146

7.5.2  static关键字       147

7.6  self关键字     150

7.7  在方法中分配和返回对象   151

7.7.1  扩展类的定义和接口文件         153

7.8  练习        153

8继承      155

8.1  一切从根类开始   155

8.1.1  找出正确的方法         159

8.2  通过继承来扩展:添加新方法   160

8.2.1  point类和对象创建   164

8.2.2  @class指令        165

8.2.3  具有对象的类    169

8.3  覆写方法        173

8.3.1  选择哪种方法    174

8.4  抽象类   177

8.5  练习        178

9多态、动态类型和动态绑定      181

9.1  多态:相同的名称,不同的类   181

9.2  动态绑定和id类型       184

9.3  编译时和运行时检查   186

9.4  id数据类型与静态类型        187

9.4.1  动态类型的参数和返回类型    188

9.5  有关类的问题        189

9.6  使用@try处理异常       194

9.7  练习        196

10变量和数据类型        199

10.1  对象的初始化      199

10.2  作用域回顾 203

10.2.1  关于属性、存取方法和实例变量  203

10.2.2  全局变量  204

10.2.3  静态变量  206

10.3  枚举数据类型      208

10.4  typedef语句         212

10.5  数据类型转换      213

10.5.1  转换规则  213

10.6  位运算符      215

10.6.1  按位与运算符  216

10.6.2  按位或运算符  217

10.6.3  按位异或运算符       218

10.6.4  一次求反运算符       218

10.6.5  向左移位运算符       220

10.6.6  向右移位运算符       221

10.7  练习      221

11分类和协议        223

11.1  分类      223

11.2  类的扩展      228

11.2.1  关于分类的注意事项       229

11.3  协议和代理 230

11.3.1  代理  233

11.3.2  非正式协议       234

11.4  合成对象      235

11.5  练习      236

12预处理程序        239

12.1  #define语句         239

12.1.1  更高级的定义类型  241

12.2  #import语句        246

12.3  条件编译      247

12.3.1  #ifdef#endif#else#ifndef语句      248

12.3.2  #if#elif预处理程序语句      250

12.3.3  #undef语句       251

12.4  练习      251

13基本的c语言特性    253

13.1  数组      254

13.1.1  数组元素的初始化  256

13.1.2  字符数组  257

13.1.3  多维数组  258

13.2  函数      260

13.2.1  参数和局部变量       262

13.2.2  函数的返回结果       263

13.2.3  函数、方法和数组  267

13.3  块(blocks        268

13.4  结构      272

13.4.1  结构的初始化  275

13.4.2  结构中的结构  276

13.4.3  关于结构的补充细节       278

13.4.4  不要忘记面向对象编程思想  279

13.5  指针      279

13.5.1  指针和结构       283

13.5.2  指针、方法和函数  285

13.5.3  指针和数组       287

13.5.4  指针运算  297

13.5.5  指针和内存地址       299

13.6  它们不是对象      299

13.7  其他语言特性      300

13.7.1  复合字面量       300

13.7.2  goto语句  301

13.7.3  空语句       301

13.7.4  逗号运算符       301

13.7.5  sizeof运算符    302

13.7.6  命令行参数       303

13.8  工作原理      305

13.8.1  事实#1:实例变量存储在结构中  306

13.8.2  事实#2:对象变量实际上是指针  306

13.8.3  事实#3:方法是函数,而消息表达式是函数调用       307

13.8.4  事实#4id类型是通用指针类型  307

13.9  练习      307

第二部分foundation框架

14foundation框架简介 311

14.1  foundation文档  311

15数字、字符串和集合        315

15.1  数字对象      315

15.2  字符串对象 321

15.2.1  nslog函数        321

15.2.2  description方法        322

15.2.3  可变对象与不可变对象  323

15.2.4  可变字符串       330

15.3  数组对象      336

15.3.1  制作地址簿       341

15.3.2  数组排序  358

15.4  词典对象      364

15.4.1  枚举词典  366

15.5  集合对象      369

15.5.1  nsindexset         373

15.6  练习      375

16使用文件    379

16.1  管理文件和目录:nsfilemanager     380

16.1.1  使用nsdata         385

16.1.2  使用目录  386

16.1.3  枚举目录中的内容  389

16.2  使用路径:nspathutilities.h      391

16.2.1  常用的路径处理方法       394

16.2.2  复制文件和使用nsprocessinfo 396

16.3  基本的文件操作:nsfilehandle         400

16.4  nsurl      405

16.5  nsbundle 406

16.6  练习      407

17内存管理和自动引用计数        409

17.1  自动垃圾收集      411

17.2  手工管理内存计数      411

17.2.1  对象引用和自动释放池  412

17.3  事件循环和内存分配 414

17.4  手工内存管理规则的总结 416

17.5  自动引用计数(arc       417

17.6  强变量 418

17.7  弱变量 419

17.8  @autoreleasepool  420

17.9  方法名和非arc编译代码          420

18复制对象    423

18.1  copymutablecopy方法  424

18.2  浅复制与深复制 426

18.3  实现<nscopying>协议         428

18.4  用设值方法和取值方法复制对象      431

18.5  练习      433

19归档    435

19.1  使用xml属性列表进行归档     435

19.2  使用nskeyedarchiver归档         437

19.3  编码方法和解码方法 439

19.4  使用nsdata创建自定义档案   446

19.5  使用归档程序复制对象      450

19.6  练习      451

第三部分cocoacocoa touchiossdk

20cocoacocoa touch简介        453

20.1  框架层 453

20.2  cocoa touch 454

21编写ios应用程序     457

21.1  ios sdk 457

21.2  第一个iphone应用程序     457

21.2.1  创建新的iphone应用程序项目      460

21.2.2  输入代码  463

21.2.3  设计界面  466

21.3  iphone分数计算器      474

21.3.1  启动新的fraction_calculator项目          475

21.3.2  定义视图控制器       476

21.3.3  fraction         481

21.3.4  处理分数的calculator         485

21.3.5  设计ui      486

21.4  小结      487

21.5  练习      488

附录a术语表         489

附录b地址簿示例源代码     501

下载地址

立即下载

(解压密码:www.teccses.org)

Article Title:《Objective-C程序设计-第6版》
Article link:https://www.teccses.org/446134.html