《突破,Objective-C开发速学手册》
基本信息
作者: 傅志辉
出版社:电子工业出版社
ISBN:9787121207426
上架时间:2013-7-12
出版日期:2013 年8月
开本:16开
页码:392
版次:1-1
所属分类:计算机 > 软件与程序设计 > 综合 > 高级程序语言设计
内容简介
计算机书籍
《突破,objective-c开发速学手册(含cd光盘1张)》由浅入深,全面、系统地介绍了objective-c开发技术。本书最大的特色就是提供了大量的插图,一改过去编程书籍只有枯燥乏味的文字讲解,利用各种说明插图和运行结果示意图,生动形象地再现了objective-c开发需要的所有知识,使读者能够轻松地掌握学习内容。另外,作者专门为每一章编写了一些习题,以便读者对该章的学习水平进行检测。
《突破,objective-c开发速学手册(含cd光盘1张)》涉及面广,从基础的理论到语法,再到高级的应用,几乎涉及objective-c语言的所有重点知识。本书适合想全面学习objective-c语言的人员阅读,也适合各种使用objective-c语言进行开发的工程技术人员使用。对经常使用objective-c语言进行开发的人员,更是一本不可多得的案头必备参考书。
目录
《突破,objective-c开发速学手册(含cd光盘1张)》
第一篇 基础篇
第1章 第一个objective-c程序2
1.1 objective-c开发概述2
1.1.1 objective-c的发展史2
1.1.2 objective-c的特点3
1.2 构建开发环境4
1.2.1 objective-c开发环境的安装条件4
1.2.2 virtualbox下载和安装5
1.2.3 虚拟机的建立7
1.2.4 设置虚拟机10
1.2.5 安装系统11
1.2.6 进入界面11
1.2.7 下载和安装xcode16
1.3 “hello world!”程序20
1.3.1 创建hello objective-c项目20
1.3.2 编译、链接及运行22
1.4 objective-c代码认识24
1.4.1 查看源文件24
1.4.2 objective-c程序的结构25
.1.4.3 注释25
1.4.4 标识符26
1.5 小结28
1.6 习题28
第2章 数据类型30
2.1 数30
2.1.1 二进制数30
2.1.2 十进制数31
2.1.3 八进制数32
2.1.4 十六进制数33
2.1.5 各进制之间的转换34
2.2 数据类型34
2.2.1 整数类型34
2.2.2 实型数据36
2.2.3 字符型37
2.2.4 数据类型的输出40
2.2.5 objective-c特有的数据类型40
2.3 变量和常量40
2.3.1 变量41
2.3.2 常量43
2.4 小结45
2.5 习题45
第3章 语句48
3.1 语句的构成48
3.2 运算符及表达式49
3.2.1 算术运算符及表达式49
3.2.2 自增自减运算符51
3.2.3 位运算符52
3.2.4 赋值运算符及表达式55
3.2.5 关系运算符及表达式59
3.2.6 条件运算符60
3.2.7 布尔逻辑运算符及表达式62
3.2.8 逗号运算符及表达式64
3.2.9 求字节数运算符65
3.2.10 特殊的运算符66
3.2.11 运算符的优先级67
3.3 类型转换69
3.3.1 自动转换69
3.3.2 强制类型转换71
3.4 语句块72
3.4.1 语句块的结构72
3.4.2 作用域73
3.5 小结74
3.6 习题74
第4章 程序控制结构77
4.1 顺序结构77
4.2 选择结构78
4.2.1 条件语句的组成78
4.2.2 if语句79
4.2.3 if...else语句80
4.2.4 if...else...if语句82
4.2.5 三种if语句的注意事项84
4.2.6 if语句的嵌套86
4.2.7 switch语句87
4.3 循环结构90
4.3.1 while语句91
4.3.2 for语句92
4.3.3 do...while语句97
4.3.4 三种循环语句的比较98
4.4 转折语句99
4.4.1 break语句99
4.4.2 continue101
4.4.3 break和continue的比较101
4.4.4 return语句102
4.5 小结102
4.6 习题103
第5章 函数105
5.1 函数简介105
5.2 函数的使用107
5.2.1 函数的声明107
5.2.2 函数的定义和调用107
5.2.3 函数使用中的问题109
5.2.4 空函数110
5.3 函数的参数111
5.3.1 参数111
5.3.2 有参函数的定义和调用112
5.3.3 参数的注意事项113
5.3.4 函数的传递方式114
5.4 函数的返回值115
5.4.1 返回某一数据类型的值115
5.4.2 无返回值117
5.5 函数的嵌套和递归117
5.5.1 函数的嵌套117
5.5.2 函数的递归119
5.6 小结120
5.7 习题120
第二篇 面向对象篇
第6章 面向对象编程124
6.1 类和对象124
6.1.1 类的声明和定义124
6.1.2 实例化对象126
6.2 实例变量130
6.2.1 实例变量的定义130
6.2.2 实例变量的使用130
6.2.3 实例变量、全局变量和局部变量的区别131
6.2.4 变量的存储类别132
6.3 方法135
6.3.1 方法的声明135
6.3.2 方法的实现136
6.3.3 对象方法的使用136
6.3.4 类方法的使用138
6.3.5 方法的参数139
6.4 属性142
6.4.1 属性的声明和定义142
6.4.2 带参属性144
6.4.3 带参属性——setter/getter方法(assign/retain/copy)144
6.4.4 带参属性——读写属性148
6.4.5 带参属性——原子修饰149
6.5 小结150
6.6 习题150
第7章 深入面向对象的编程154
7.1 继承154
7.1.1 继承的实现154
7.1.2 实例变量的继承155
7.1.3 方法的继承158
7.2 访问限定符159
7.2.1 @public159
7.2.2 @protected161
7.2.3 @private161
7.2.4 访问限定符的区别162
7.3 方法重写163
7.3.1 方法重写的形式163
7.3.2 super164
7.4 方法重载165
7.5 多层继承166
7.6 多态169
7.6.1 多态的形式169
7.6.2 方法的重写实现多态170
7.6.3 方法的重载实现多态171
7.7 动态类型和动态绑定172
7.7.1 动态类型id172
7.7.2 动态绑定173
7.8 小结174
7.9 习题174
第8章 分类和协议180
8.1 分类180
8.1.1 分类的声明180
8.1.2 分类的定义180
8.1.3 分类的使用181
8.1.4 分类的创建181
8.1.5 分类使用的注意点183
8.2 协议185
8.2.1 协议的定义185
8.2.2 协议的创建186
8.2.3 协议在类中的声明187
8.2.4 所用协议声明方法187
8.2.5 关键字188
8.2.6 多个协议的使用192
8.2.7 在协议中使用协议193
8.2.8 判断协议实现的方法194
8.2.9 协议的分类195
8.3 小结196
8.4 习题196
第三篇 技术篇
第9章 内存管理200
9.1 内存管理的基础200
9.1.1 申请内存(alloc)200
9.1.2 释放内存(dealloc)201
9.2 引用计数204
9.2.1 引用计数和字符串205
9.2.2 引用计数和实例变量206
9.3 自动释放池207
9.3.1 自动释放池207
9.3.2 建立多个自动释放池209
9.3.3 引用计数和自动释放池210
9.4 内存管理规则及内存泄漏211
9.4.1 内存管理规则211
9.4.2 内存泄漏213
9.5 垃圾回收213
9.6 小结214
9.7 习题214
第10章 foundation框架的基本对象217
10.1 数字对象217
10.1.1 数字对象的介绍217
10.1.2 数字对象的使用218
10.2 字符串对象224
10.2.1 字符串和字符的区别224
10.2.2 不可修改的字符串225
10.2.3 可修改的字符串232
10.3 数组对象235
10.3.1 数组的定义235
10.3.2 数组的声明235
10.3.3 数组的引用237
10.3.4 二维数组的声明和定义238
10.3.5 二维数组初始化的方法239
10.3.6 二维数组的引用240
10.3.7 字符数组的含义241
10.3.8 字符数组初始化241
10.3.9 字符数组的引用241
10.3.10 不可修改的数组242
10.3.11 可修改的数组246
10.4 字典对象251
10.4.1 不可修改的字典251
10.4.2. 可修改的字典253
10.5 集合对象256
10.5.1 不可修改的集合257
10.5.2 可修改的集合259
10.6 小结263
10.7 习题263
第11章 文件和目录处理267
11.1 文件的操作267
11.1.1 创建文件267
11.1.2 文件的使用268
11.1.3 对文件数据的操作274
11.1.4 文件的读写278
11.2 目录的操作286
11.2.1 目录的基本操作方法286
11.2.2 目录的显示289
11.2.3 临时目录292
11.2.4 路径293
11.3 小结294
11.4 习题294
第12章 编译预处理296
12.1 宏定义296
12.1.1 不带参宏定义296
12.1.2 带参宏297
12.1.3 使用宏的注意点298
12.1.4 宏的取消299
12.2 文件包含301
12.3 条件编译304
12.3.1 #ifdef304
12.3.2 #ifndef305
12.3.3 #if307
12.3.4 编译预处理总结307
12.4 小结308
12.5 习题308
第13章 进程和线程312
13.1 进程312
13.1.1 创建进程312
13.1.2 进程的使用313
13.1.3 进程方法总结315
13.2 线程315
13.2.1 使用nsthread创建线程316
13.2.2 启动线程316
13.2.3 访问主线程318
13.3 互斥锁318
13.3.1 nslock319
13.3.2 @synchronized320
13.4 进程和线程的区别321
13.5 小结322
13.6 习题322
第14章 归档324
14.1 xml属性列表324
14.1.1 使用xml进行数据保存324
14.1.2 使用xml进行数据读取326
14.2 nskeyedarchiver329
14.2.1 nskeyedarchive的数据保存330
14.2.2 nskeyedarchive的数据读取331
14.3 编码和解码方法331
14.3.1 直接进行归档332
14.3.2 编码方法333
14.3.3 解码方法333
14.4 保存多个对象到一个文件335
14.5 使用归档程序复制对象337
14.6 小结337
14.7 习题338
第15章 错误处理341
15.1 错误的分类341
15.2 使用返回值342
15.3 使用异常处理342
15.3.1 异常处理的使用343
15.3.2 捕获不同类型的异常345
15.3.3 使用异常的注意点346
15.3.4 抛出异常348
15.4 使用nserror349
15.5 小结350
15.6 习题351
第16章 时间日期处理352
16.1 nsdate352
16.1.1 创建nsdate352
16.1.2 获取当前的日期353
16.1.3 获取昨天的日期353
16.1.4 日期的比较355
16.1.5 两个日期的时间差358
16.1.6 时间间隔358
16.2 使用nscalendar359
16.2.1 创建一个给定日期的nsdate对象359
16.2.2 日期在不同日历间的转换361
16.2.3 获取日期总的年月日361
16.3 字符串和日期的相互转化362
16.3.1 将日期转化为字符串362
16.3.2 将字符串转化为日期363
16.4 时区365
16.5 小结366
16.6 习题366
第四篇 iphone开发入门篇
第17章 iphone入门370
17.1 iphone简介370
17.1.1 iphone的发展370
17.1.2 编写iphone应用程序和其他程序的不同371
17.2 第一个“hello world!”程序371
17.2.1 创建hello world项目371
17.2.2 iphone simulator的简介371
17.2.3 使用interface builder373
17.2.4 编写第一个“hello world!”程序376
17.3 小结378
- iOS开发- 速学Swift-中文概述
Swift是什么? Swift是苹果于WWDC 2014公布的编程语言,这里引用The Swift Programming Language的原话: Swift is a new programmin ...
- web 开发:CSS3 常用属性——速查手册!
web 开发:CSS3 常用属性——速查手册! CSS3 简介:http://www.runoob.com/css3/css3-intro.html 1.目录 http://caniuse.com/ ...
- 25个有用的和方便的 WordPress 速查手册
如果你是 WordPress 开发人员,下载一些方便的 WordPress 备忘单可以在你需要的时候快速查找.下面这个列表,我们已经列出了25个有用的和方便的 WordPress 速查手册,赶紧收藏吧 ...
- 25个有用和方便的 WordPress 速查手册
如果你是一个 WordPress 编码器或开发人员,下载一些方便的 WordPress 备忘单寻找你的工作然后你在正确的地方.我们已经列出了25个有用的和方便的 WordPress 速查手册.Word ...
- 几个较好的SQL速查手册网址
微软 SQL server 数据库开发手册 数据库设计 Transact-SQL 速查手册 数据库设计 MySQL 中文参考手册速查 结构化查询语言 SQL 学习手册速查 转自:http://www. ...
- 程序员 & 设计师都能用上的 75 份速查手册
分享75份开发人员和设计师会用到的速查手册,由 vikas 收集整理,包括:jQuery.HTML.HTML5.CSS.CSS3.JavaScript.Photoshop .git.Linux.Jav ...
- React Native之React速学教程(下)
概述 本篇为<React Native之React速学教程>的最后一篇.本篇将带着大家一起认识ES6,学习在开发中常用的一些ES6的新特性,以及ES6与ES5的区别,解决大家在学习Reac ...
- React Native之React速学教程(中)
概述 本篇为<React Native之React速学教程>的第一篇.本篇将从React的特点.如何使用React.JSX语法.组件(Component)以及组件的属性,状态等方面进行讲解 ...
- React Native之React速学教程(上)
概述 本篇为<React Native之React速学教程>的第一篇.本篇将从React的特点.如何使用React.JSX语法.组件(Component)以及组件的属性,状态等方面进行讲解 ...
随机推荐
- MAC Pro 2017款 无线上网慢
MAC Pro 2017款 在无线路由器和MAC相隔一个房间,上网很慢,怀疑是无线路由器有问题,但其他几台老款MAC和PC上网正常.后来将蓝牙关掉,上网就很快了.
- SQL Server 2008的MSSQLSERVER 请求失败或服务未及时响应
我的是SQL server 2008R2, 以前可以正常的启动SQL server(SQLEXPRESS).SQL server(MSSQLSERVER),有几天没有打开了,就在昨天 开机之后就无法启 ...
- NOI2014 起床困难综合症 day1t1
感觉NOI题在向简单方向发展,或者说明年会难到暴呢? 直接模拟啊,枚举每个二进制数位,看经过变换之后是否为1及为1的条件即可.\( O(nlogm)\). 然后...跪了一个点,第五个死活比标准大一. ...
- jquery.form.js上传文件ie弹出下载文件解决办法
在ie下如果返回类型为jsonresult,ie老版本无法识别json类型,默认将会采用下载或者打开文件! 如果使用mvc的话.直接修改action返回类型为string即可,例如:return Js ...
- react native项目增加devtools工具
第一步:安装react devtools工具 在当前项目中打开命令行,添加react devtools工具,因为运行的工具有九十几M,下载时需要时间,请耐心等待 yarn add react-devt ...
- 一个Apache安装多个版本的PHP
我的服务器centos6.5安装了xampp,php6.5版本的.已经有好几个网站在上面运行了,但是后面要安装该死的ecshop,无奈要装php5.2,因此就想如何能在一个apache上安装多个版本的 ...
- 转:LLVM与Clang的概述及关系
转:http://www.cnblogs.com/saintlas/p/5738739.html LLVM是构架编译器(compiler)的框架系统,以C++编写而成,用于优化以任意程序语言 ...
- STM32通用定时器实现LED灯闪烁
刚才看了一下STM32通用定时器的教程,其实和51的定时器使用差不多.只是因为32的时钟更复杂,可操控的寄存器更多,所以写的时候可能更复杂. 使用通用定时器中断的一般步骤:1.使能定时器时钟 这个需要 ...
- struts2核心配置之Result
result作用:在struts.xml中,使用<result>元素配置result逻辑视图和物理视图之间的映射 元素属性 属性 说明 是否必须 name 指定逻辑视图的名称(Action ...
- 25、Flask实战第25天:项目结构搭建
创建一个虚拟环境bbs,并安装flask框架 #cmd进入DOS窗口 mkvirtualenv bbs pip install flask 在本地磁盘D新建项目目录:bbs 打开pycharm,创建f ...