新書推薦:
《
1911:危亡警告与救亡呼吁
》
售價:NT$
349.0
《
旷野人生:吉姆·罗杰斯的全球投资探险
》
售價:NT$
345.0
《
笼中王国 : 18世纪法国的珍禽异兽与社会文化
》
售價:NT$
340.0
《
思考的框架3 巴菲特芒格马斯克推崇的思维方式 风靡华尔街的思维训练法 沙恩·帕里什 著
》
售價:NT$
295.0
《
森林疗法:拥抱大自然、获得幸福的季节性方法
》
售價:NT$
340.0
《
希腊人(伊恩·莫里斯文明史系列)
》
售價:NT$
845.0
《
亚马逊六页纸 如何高效开会、写作、完成工作
》
售價:NT$
349.0
《
世界巨变:严复的角色(王中江著作系列)
》
售價:NT$
500.0
|
編輯推薦: |
★ 日本Objective-C圣经级教材
★ Objective-C首选教程,6年长销第3次改版
○ 全面深入
从内存管理到并行编程,完美涵盖Objective-C的方方面面
○ 符合东方人思维
日本资深开发者操刀撰写,更易理解消化
○ 讲解细致
理论结合实例,代码支持最新Mac
OS XiOS系统
|
內容簡介: |
本书结合理论知识和实例程序,全面而系统地介绍了Objective-C 编程的相关内容,包括类和继承、对象的类型和动态绑定、基于引用计数的内存管理、垃圾回收、属性声明、类NSObject 和运行时系统、Foundation 框架中常用的类、范畴、抽象类与类簇、对象的复制及存储、块对象、消息发送模式、图像视图、异常和错误、并行编程、键值编码等。
本书适合iOS 应用和Mac OS X 开发初学者系统入门、有经验的开发者深入理解语言本质,也适合开发团队负责人、项目负责人作为综合性的Objective-C 参考书阅读。
|
關於作者: |
荻原刚志
大阪大学工学博士毕业。京都产业大学计算机理工学院教授,大阪大学客座教授。主要从事软件开发手法、隐写术等方面的研究。其本人也是应用软件开发者,代表作品有ToyViewer、Typist等。
译者简介:
唐璐
硕士毕业于东北大学,2005年赴日,曾就职于东京PtoPA、东软日本,在日期间曾参与多个iOS和人工智能的项目。现就职于阿里巴巴无线事业部,从事NLP方面的研究和开发工作。
翟俊杰
毕业于吉林大学和北京邮电大学研究方向为模式识别和智能系统。先后任职于东京PtoPA、北京腾讯科技和北京搜狗科技有限公司,主要从事NLP、数据质量、数据挖掘方面的研究和开发。
|
目錄:
|
第1章 面向对象的编程
1.1 对象的概念
1.1.1 面向功能的软件设计的局限性
1.1.2 面向对象的模块化
1.1.3 消息传递
1.1.4 模块的抽象化
1.1.5 对象的属性
专栏 面向对象的方方面面
1.1.6 类
专栏 Cocoa和Objective-C的历史
1.2 模块和对象
1.2.1 软件模块
1.2.2 高独立性的模块
1.2.3 模块的信息隐蔽
1.2.4 类的定义和接口
1.2.5 消息发送的实现
专栏 C语言的新标准
第2章 Objective-C程序设计
2.1 对象和消息
2.1.1 消息表达式
2.1.2 消息选择器
2.1.3 实例变量的生成和初始化
2.2 类的定义
2.2.1 类的接口声明
专栏 各种各样的布尔类型
专栏 不指定方法的返回值
2.2.2 类的实现
2.2.3 一个遥控器的例子
2.3 编译
2.3.1 简单的编译方法
2.3.2 多文件编译
2.4 程序的书写风格
2.4.1 混合编程
2.4.2 C语言函数的使用方法
2.4.3 静态变量的定义
2.4.4 头文件的引入
专栏 参考文档和SDK
专栏 Xcode的安装
第3章 类和继承
3.1 继承的概念
3.1.1 父类和子类
3.1.2 类的层次结构
3.2 利用继承定义新类
3.2.1 继承的定义
3.2.2 类定义和头文件
3.2.3 继承和方法调用
3.2.4 调用父类的方法
3.2.5 初始化方法的定义
3.3 使用继承的程序示例
3.3.1 追加新方法的例子
3.3.2 方法重写的例子
3.4 继承和方法调用
3.4.1 使用self调用方法
3.4.2 使用super调用方法
3.4.3 测试程序
3.5 方法定义时的注意事项
3.5.1 局部方法
3.5.2 指定初始化方法
专栏 Objective-C与开源软件
第4章 对象的类型和动态绑定
4.1 动态绑定
4.1.1 什么是动态绑定
4.1.2 多态
4.2 作为类型的类
4.2.1 把类作为一种类型
4.2.2 空指针nil
专栏 关系表达式
4.2.3 静态类型检查
4.2.4 静态类型检查的总结
4.3 编程中的类型定义
4.3.1 签名不一致时的情况
专栏 重载
4.3.2 类的前置声明
4.3.3 强制类型转换的使用示例
4.4 实例变量的数据封装
4.4.1 实例变量的访问权限
4.4.2 访问器
4.4.3 实例变量的可见性
4.4.4 在实现部分中定义实例变量
4.5 类对象
4.5.1 什么是类对象
4.5.2 类对象的类型
4.5.3 类方法的定义
4.5.4 类变量
4.5.5 类对象的初始化
4.5.6 初始化方法的返回值
第5章 基于引用计数的内存管理
5.1 动态内存管理
5.1.1 内存管理的必要性
5.1.2 引用计数、自动引用计数和自动垃圾回收
5.2 手动引用计数内存管理
5.2.1 引用计数
5.2.2 测试引用计数的例子
5.2.3 释放对象的方法
5.2.4 访问方法和对象所有权
专栏 静态对象
5.2.5 自动释放
5.2.6 使用自动释放池时需要注意的地方
5.2.7 临时对象的生成
5.2.8 运行回路和自动释放池
5.2.9 常量对象
专栏 常量修饰符const
5.3 分数计算器的例子
5.3.1 分数类Faction
5.3.2 保存计算结果的FracRegister类
5.3.3 主函数和执行示例
5.4 ARC概要
5.4.1 什么是ARC
5.4.2 禁止调用引用计数的相关函数
5.4.3 管理自动释放池的新语法
5.4.4 变量的初始值
5.4.5 方法族
5.4.6 方法dealloc的定义
5.4.7 使用ARC的程序的编译
5.4.8 ARC的基本注意事项
5.4.9 使用ARC重构分数计算器
5.5 循环引用和弱引用
5.5.1 循环引用
5.5.2 所有权和对象间的关系
5.5.3 弱引用
5.5.4 自动nil化的弱引用
5.5.5 对象之间引用关系的基本原则
5.6 ARC编程时其他一些注意事项
5.6.1 可以像通常的指针一样使用的对象
5.6.2 setter方法的注意事项
5.6.3 通过函数的参数返回结果对象
5.6.4 C语言数组保存Objective-C对象
5.6.5 ARC对结构体的一些限制
5.6.6 提示编译器进行特别处理
第6章 垃圾回收
6.1 垃圾回收的概要
6.1.1 查找不再使用的对象
6.1.2 编程时的注意事项
6.1.3 垃圾收集器
6.1.4 finalize方法的定义
6.1.5 编译时的设定
6.1.6 引用计数管理方式中方法的处理
6.1.7 使用垃圾回收编程小结
6.2 垃圾回收的详细功能
6.2.1 分代垃圾回收
6.2.2 弱引用
6.2.3 自动nil化
6.2.4 通过垃圾回收回收动态分配的内存
6.2.5 _ _strong修饰符的使用方法
6.2.6 NSGarbageCollector类
6.2.7 实时API
6.3 内存管理方式的比较
6.3.1 引用计数和垃圾回收
6.3.2 更改内存管理方式
6.3.3 各种内存管理方式的比较
第7章 属性声明
7.1 属性是什么
7.1.1 使用属性编程
7.1.2 属性的概念
专栏 内省
7.2 属性的声明和功能
7.2.1 显式声明属性
7.2.2 属性的实现
7.2.3 @synthesize和实例变量
7.2.4 通过@synthesize生成实例变量
7.2.5 给属性指定选项
7.2.6 赋值时的选项
7.2.7 原子性
7.2.8 属性声明和继承
7.2.9 方法族和属性的关系
7.3 通过点操作符访问属性
7.3.1 点操作符的使用方法
7.3.2 复杂的点操作符的使用方法
7.3.3 何时使用点操作符
第8章 类NSObject和运行时系统
8.1 类NSObject
8.1.1 根类的作用
8.1.2 类和实例
8.1.3 实例对象的生成和释放
8.1.4 初始化
8.1.5 对象的比较
8.1.6 对象的内容描述
8.2 消息发送机制
8.2.1 选择器和SEL类型
8.2.2 消息搜索
8.2.3 以函数的形式来调用方法
专栏 函数指针
8.2.4 对self进行赋值
8.2.5 发送消息的速度
8.2.6 类对象和根类
8.2.7 Target-action paradigm
8.2.8 Xcode中的动作方法和Outlet的写法
8.3 Objective-C和Cocoa环境
8.3.1 cocoa环境和Mac OS X
8.3.2 Cocoa Touch和iOS
8.3.3 框架
8.3.4 框架的构成和头文件
8.4 全新的运行时系统
8.4.1 对64位的对应和现代运行时系统
8.4.2 数据模型
8.4.3 64位模型和整数类型
8.4.4 Core Graphics的浮点数类型
8.4.5 健壮实例变量
专栏 条件编译
第9章 Foundation框架中常用的类
9.1 对象的可变性
……
第10章 范畴
第11章 抽象类和类簇
第12章 协议
第13章 对象的复制及存储
第14章 块对象
第15章 消息发送模式
第16章 应用的构造
第17章 实例:简单图像视图
第18章 异常和错误
第19章 并行编程
第20章 键值编码
|
|