iOS编程

出版时间:2012-3-20  出版社:华中科技大学出版社  作者:Joe Conway,Aaron Hillegass  页数:544  译者:夏伟频,李骏  
Tag标签:无  

前言

要成为一名优秀的iOS程序员,需要攻克以下三项难题。必须学会Objective-C语言。Objective-C是C语言的小巧且简单的扩展。就能基本掌握的前4章,读者会对Objective-C的相关知识。必须掌握Cocoa的常用技术。其中包括内存管理、委托机制(delegation)、固化机制(archiving),以及UIViewController的正确使用。理解这些技术需要花些时间。本书前半部分会覆盖这些内容。必须掌握框架(framework)。这里的终极目标是学会iOS的所有框架,以及全部的类和方法。但这几乎是不可能完成的任务:iOS有3000多个方法,200多个类。而且iOS升级的时候会加入新的类和方法。本书会全面介绍iOS SDK,但是不会太过深入。作者的目标是带领读者入门,使读者能够自行阅读并理解Apple的参考文档。Big Nerd Ranch采用本书作为“iOS新人培训课程”的教材。这些课程经过了长期检验,帮助很多人成为了iOS程序员。真心希望这本书也能给你带来帮助。

内容概要

  本书涵盖了开发iOS应用的方方面面。从Objective-C基础知识到新增加的语言特性;从AppKit库到常见的Cocoa设计模式;从Xcode技巧到Instrumentst等。如果读者刚接触iOS编程,阅读本书前两章可以快速入门。如果读者已经有iOS编程经验,阅读本书可以拾遗补缺。本书的另一个特色是教读者以正确的方法解决问题。Objective-C的习惯约定有哪些(例如命名约定,内存管理约定),创建子类时如何处理初始化方法,Cocoa的常见设计模式有哪些,如何选择数据保存方法等。这些问题,如果读者自己摸索,难免费时费力。本书已经将这些知识整理、归纳并清楚地呈现在读者面前。

作者简介

  Joe Conway是Big Nerd
Ranch的资深教师,自iOS平台发布以来一直从事相关的咨询服务。Joe毕业于美国威斯康辛大学,在Mac OS
X早期即开始编写Objective-C和Cocoa代码。他编写了Big Nerd
Ranch的“iOS新手培训课程”教材。该教材广受好评,是本书的原型。
Aaron Hillegass曾就职于NeXT公司和苹果公司,目前在Big Nerd
Ranch教授iOS编程课程。Aaron在NeXT时编写了第一本OpenStep教材(OpenStep是Cocoa的前身)。本书以Big
Nerd Ranch的教学课程为基础,涵盖了近20年OpenStep和Cocoa的开发成果。

书籍目录

Table of Contents
简介
本书适合哪些读者
第二版有哪些更新?
教学理念
如何使用本书
本书是如何组织
代码风格
版式说明
开发所需的硬件与软件
第1章 第一个简单的iOS应用
 1.1 创建Xcode项目
 1.2 创建界面
 1.3 模型-视图-控制器
 1.4 声明
 声明实例变量
 声明方法
 1.5 创建关联
 设置指针
 设置目标(target)和动作(action)
 关联小结
 1.6 实现方法
 1.7 针对模拟器构建并运行应用
 1.8 安装应用
 1.9 应用图标
 1.10 启动图片
第2章 Objective-C
 2.1 对象
 2.2 使用实例
 创建对象
 发送消息
 释放对象
 2.3 编写命令行工具RandomPossessions
 NSString
 NSArray与NSMutableArray
 2.4 子类化Objective-C类
 实例变量
 存取方法
 实例方法
 初始化方法
 其他初始化方法与初始化方法链
 类方法
 测试子类
 2.5 异常与控制台窗口
 2.6 快速枚举
 2.7 练习
第3章 内存管理
 3.1 内存管理基础
 C语言的内存管理
 通过对象管理内存
 3.2 引用计数
 使用retain计数
 使用autorelease
 存取方法和内存管理
 实现dealloc
 通过属性机制简化存取方法
 copy和mutableCopy
 Retain计数规则
 3.3 深入学习:再谈内存管理
第4章 委托机制与Core Location
 4.1 项目、目标和框架
 4.2 Core Location
 通过CLLocationManager获取更新数据
 4.3 委托机制
 协议
 协议方法
 委托机制、控制器对象和内存管理
 4.4 使用调试器
 4.5 练习:方位
 4.6 深入学习:构建阶段、编译器错误和连接器错误
 预处理(Preprocessing)
 编译
 连接
第5章 MapKit与文本输入
 5.1 对象图
 5.2 MapKit框架
 5.3 界面属性
 5.4 设置MapView对象的委托对象
 使用文档
 创建MKAnnotation子类
 标记位置
 完成Whereami
 5.5 练习:扩充标注
 5.6 练习:根据地理位置获取城市信息
第6章 创建UIView子类
 6.1 创建自定义视图
 drawRect:方法
 创建UIView实例
 6.2 绘制文字和阴影
 6.3 使用UIScrollView
 6.4 实现缩放功能
 6.5 隐藏状态条
 6.6 练习:颜色
 6.7 深入学习:Retain循环
 6.8 深入学习:重画视图
第7章 视图控制对象
 7.1 视图控制对象与XIB文件
 7.2 使用视图控制对象
 创建UITabBarController对象
 创建视图控制对象和标签项
 为视图控制对象创建视图
 深入浅出XIB:介绍文件所有者
 7.3 视图的显示和消失
 7.4 视图控制对象的生命周期与内存过低警告
 7.5 UIViewController子类与模板
 7.6 练习:地图标签
第8章 方向感应器
 8.1 设置方向感应器
 8.2 获取方向感应器数据
 8.3 加速方向与加速数值
 8.4 使用加速感应器数据
 8.5 使加速感应器数据更“平滑”
 8.6 侦测摇动
 8.7 练习:改变颜色
 8.8 深入学习:滤波与频率
 8.9 深入学习:Retina显示屏
第9章 通告机制与设备转动
 9.1 通告中心
 9.2 UIDevice通告
 9.3 自动转屏
 用代码设置自动缩放掩码与按位运算符
 9.4 强制使用横排模式
 9.5 练习:设备近身通告
 深入学习:覆盖自动转屏
第10章 UITableView与UITableViewController
 10.1 编写Homepwner应用
 10.2 UITableViewController
 创建UITableViewController子类
 10.3 UITableView数据源
 PossessionStore:单实例对象
 实现数据源方法
 10.4 UITableViewCell对象
 创建并获取UITableViewCell对象
 重用UITableViewCell对象
 10.5 代码片段库
 10.6 练习:表格段
第11章 编辑UITableView
 11.1 编辑模式
 11.2 增加行
 11.3 删除行
 11.4 移动行
第12章 UINavigationController
 12.1 UINavigationController
 UINavigationBar
 12.2 加入额外的UIViewController
 12.3 UINavigationController的导航功能
 将视图控制对象压入栈
 视图控制对象之间的数据传递
 视图的显示和消失
 12.4 练习:数字键盘(Number Pad)
第13章 相机
 13.1 通过UIImageView显示图片
 通过UIImagePickerController拍摄照片
 ImageStore
 NSDictionary
 创建并使用键
 隐藏键盘
 13.2 练习:删除图片
 13.2 深入:摄像
第14章 UIPopoverController与模态视图控制对象
 14.1 将Homepwner改写为通用应用
 14.2 UIPopoverController
 14.3 模态视图控制对象
 关闭模态视图控制对象
 模式视图控制对象的样式
 编写视图控制对象的委托协议
 模态视图控制对象的过渡动画
 
第15章 保存、读取与多任务处理
 15.1 应用沙盒
 获取文件路径
 15.2 固化
 对象的固化
 对象的解固
 15.3 应用状态、状态切换与多任务处理
 15.4 通过NSData保存数据
 15.5 再谈内存过低警告
 15.6 “模型-视图-控制器-存储”设计模式
 15.7 练习:为Whereami增加固化功能
 15.8 深入:应用状态的切换
 15.9 深入:文件系统的读取和写入
 15.10 深入:程序包
第16章 创建UITableViewCell子类
 16.1 创建HomepwnerItemCell
 创建子视图
 子视图的布局
 使用UITableViewCell子类对象
 16.2 处理图片
 16.3 练习:辅助指示视图
 16.4 练习:缩小原图
第17章 Core Data
 17.1 对象-关系映射
 17.2 用Core Data重写PossessionStore的数据保存功能
 模型文件
 NSManagedObject与NSManagedObject子类
 更新PossessionStore
 为Homepwner增加AssetType功能
 17.3 再谈SQL
 17.4 各种保存机制的优缺点
 17.5 练习:增加AssetType对象
 17.6 练习:AssetType对象的iPad界面
第18章 本地化
 18.1 通过NSLocale实现国际化
 18.2 资源的本地化
 18.3 NSLocalizedString与字符串对照表
 18.4 练习:增加一套本地化资源
 18.5 深入:NSBundle在国际化中的作用
第19章 设置
 19.1 更新Whereami
 19.2 NSUserDefaults
 19.3 深入:“设置”应用
第20章 触摸事件与UIResponder
 20.1 触摸事件
 20.2 创建TouchTracker应用
 20.3 处理触摸事件并创建线条对象
 20.4 响应对象链
 20.5 练习:保存和读取
 20.6 练习:圆圈
 20.7 深入学习:UIControl
第21章 Instruments
 21.1 静态分析器
 21.2 Instruments
 21.3 Allocations组件
 Allocations组件的设置选项
 内存堆快照分析
 Time Profiler组件
 21.3 Xcode方案
 创建新方案
 21.4 构建设置
第22章 Core Animation Layer
 22.1 层与视图的关系
 22.2 创建CALayer对象
 22.3 层的显示内容
 22.4 隐式可动画属性
 22.5 深入:通过代码生成显示内容
 22.6 深入:层、位图与上下文
 22.7 练习:动态生成层的显示内容
第23章 通过CAAnimation控制动画
 23.1 动画对象
 23.2 通过CABasicAnimation实现旋转动画
 速度控制函数
 动画结束后的处理
 23.3 通过CAKeyframeAnimation实现弹跳动画
 23.4 练习:更多动画效果
 23.5 深入:外观层和模型层
第24章 Block对象与范畴
 24.1 为TouchDrawView上色
 24.2 Block对象
 Block对象与变量
 捕获变量
 通过其他内建的方法使用Block对象
 通过Block对象保持代码的短小精练
 24.3 范畴
 24.4 深入学习:内存管理与Block对象
 24.5 深入学习:比较多种回调机制实现途径的优缺点
第15章 Web服务与UIWebView
 25.1 Web服务
 编写Nerdfeed
 从指定的URL获取数据
 使用NSURLConnection
 解析XML数据
 日志输出技巧
 25.2 UIWebView
 25.3 深入学习:NSXMLParser
 25.4 深入学习:HTTP请求主体
 25.5 深入学习:认证信息
 25.6 练习:解析并显示更多数据
 25.7 练习:加强UIWebView
第26章 UISplitViewController
 26.1 在Nerdfeed中使用UISplitViewController
 26.2 主、从视图控制对象间的通信
 26.3 在竖排模式下显示主视图控制对象
 26.4 将Nerdfeed改写为通用应用
第27章 多媒体播放与后台运行
 27.1 创建MediaPlayer应用
 27.2 系统声音
 注册系统声音
 播放系统声音
 27.3 播放压缩格式的音频文件
 27.4 播放视频文件
 MPMoviePlayerViewController
 视频文件的预读
 27.5 后台运行
 后台运行规则
 其他形式的后台运行
 27.6 底层API
 27.7 练习:录音
第15章 Bonjour与Web服务端
 28.1 Bonjour
 创建CocoaServer
 发布Bonjour服务
 通过Bonjour查找服务
 28.2 HTTP通信
 用Objective-C编写Web服务端
 获取服务端的网络地址信息
 字节序
 创建服务请求
 接收Web请求
 28.3 深入学习:TXTRecords
第29章 推送通知与网络编程
 29.1 设置客户端,为接收推送通知做准备
 注册客户端
 创建并设置针对推送通知的provisioning profile
 29.2 投递推送通知
 向provider发送设备token
 29.3 发送推送通知
 通过NSStream和Apple服务器创建网络连接
 通过NSStream建立网络连接
 为Apple服务器提供数据
 处理投递错误
 再谈针对流连接的数据读取
 29.4 几种额外的客户端通知处理机制
 声音和图标标记
 通过推送通知传送自定义数据
 29.5 正式的通知服务器以及其他发布事宜
 29.6 深入学习:反馈服务
第30章 后记
 30.1 接下来做什么
 30.2 结束语
索引

章节摘录

版权页:插图:

名人推荐

阅读此书,转身成为iPhone程序员。   ——Dietrich Kappe Pathfinder Development公司CTO

图书封面

图书标签Tags

评论、评分、阅读与下载


    iOS编程 PDF格式下载


用户评论 (总计119条)

 
 

  •   以前买过一本讲COCOA开发的,因为是针对XCODE3的 看着无比痛苦;这个是针对XCODE4的 讲的深入浅出 翻译也不错 还有范例代码在他们网站上可以下载参考;两位作者的书都买过 写的都不错 对我入门起了很大帮助
  •   初次涉及iOS开发,还是需要一本带入门的书籍,这本书就是个不错的选择
  •   相当于其它几iOS编程的书,本书是最值得阅读的。作者从基本的概念一步步地深入,不但教你怎么用,还深入地介绍了为什么要这样用。不管是在实用性上还是深入iOS的原理上都是很值得阅读的一本书。只可惜本书引进稍晚一些。
  •   我已经有一个月的ios编程经历了,现在看这本书依然有不少收获,我也是初学者,觉得这本书很不错哦!~
  •   IOS编程现在已经成了热的不能再热的热门语言,要从各方便来提高自己。这本很不错。
  •   我是搞cocos2d游戏开发的,这本书让我对ios开发有个详细的认识。
  •   对于刚入门IOS开发帮助很大,写的很详细,值得购买
  •   学习ios编程必备的一本经典的书
  •   我看过的IOS编程书,译著里面,行文最为容易理解的一本。内容详实全面,适合初学者。
  •   不可缺少的ios编程书
  •   讲的很好,感觉不太适合新手。需要有一点基础在去看比较好,里面的代码全是手工输入很好的理解IOS的实现过程。
  •   很喜欢的书,介绍的很详细,很适合学习iOS
  •   很好的书,看那么多人买,我也就买了。到手感觉不错,看完iOS5的再来看这本~
  •   新手必看!!!最好配合,Objective-c一块读!
  •   讲的很全面,今天刚收到看一天objective c部分。挺好的。
  •   适用于有基础开发知识的读者,写的不错,例子也很有效。
  •   相当不错,虽是老外的作品,但是很符合国人的胃口,强烈推荐。
    不过第三版e文版本已经出,期待更新。旧版的和xcode界面不太能对的上。有条件的建议可以直接读英文版的,很好理解。
  •   看了几章 感觉对新手来说还是不错的 介绍的很详细
    和国外同步到第3版就更好了。。XCODE是4.1版本的 是4.2的更好了。。哈哈
  •   iphone,ipad编程流行。学学应该对以后有帮助
  •   讲解清晰,翻译得也好,iphone/ipad移动终端上学习编程是我所发现的最好的资料。
  •   这本书帮朋友买的 朋友从事编程行业 程序员一枚 现在这本书已经看完了觉得很好里面内容不空洞 看完很充实 很有帮助跟棒 书的质量也很好 都这么久了 还不错 主要是朋友也挺爱惜的 呵呵
  •   为xcode学习带来很大的受益
  •   冲着这本书比较全面来买的,尤其是有网络编程的部分。如果能加上socket编辑就更好了。我当工具书用。
  •   深入浅出地介绍了ISO编程,但是对于现在PhoneGap等迅猛发展的背景下,内容有点老了。
  •   特别适合初学者,知识内容讲述的浅显易懂,逻辑清晰.初学者们一定不要错过这本书.
  •   读了第一章,感觉蛮详细,适合入门书的纸质不错纵观目录,内容丰富
  •   内容很充实,很全面,基本把能用到的知识都讲到了,并且较易理解
  •   书质量很好,送货很快,适合有一定程序基础的人学习。
  •   故意等看了一大半才来写评论 这本书非常时候初学者
  •   很基础,讲的很细,很喜欢
  •   初学者入门很不错
  •   入门不错 不会很深入
  •   讲的比较详细,,,,涉及面广。。适合初级后的过度!
  •   说是晚上到 却是第二天上午到 不知道是为啥
  •   速度很快,第二天到达。书本也很好
  •   书的内容还可以。但是我刚买完你就降价了。我愁了!
  •   书看了下很不错,适合初学者。说的比较诚恳和实际。
  •   书是本好书,但对于什么都不懂得来说 看起来有点难啊
  •   东西不错,内容不错,值得买
  •   帮好朋友买的,没经本人手,朋友反馈还可以。
  •   是老公买的,我来凑个评价,哈哈哈~
  •   讲的很详细!并且讲的也非常的全面。
  •   这本说写的还是很不错的
  •   买的时候就是为了学习后面的一部分,不过还是值得的
  •   描述得非常清晰,一点也不生硬
  •   不错,老公正要学习!
  •   给我家老公买的!
  •   网页坏了 本来想给四分的
  •   很好,不错 !!
  •   一些要点讲解到位,相比国内的一些书籍,很给力!!!
  •   等我看了再评
  •   作为教程很理想
  •   华科出版的,值得拥有,慢慢研读
  •   好用的参考书
  •   给同学买的,便宜
  •   这个商品不错发货,也很快!
  •   工作工具书,好用
  •   不错,初学者看看吧
  •   henhaode dongdongao
  •   很久之前买的,当时还没锁门书正对Xcode4和iOS5的,这本不错,对初学者可以好好看看。现在已经出了第三版了
  •   比较基础,适合初学者。内容稍旧了点,主要是ios和xcode都发展太快了。
  •   内容还没有仔细的阅读,不过感觉不错,ios开发必备
  •   我总体的看了一下这本书,感觉不符合正常的学习习惯
    我认为应该第一张看了后 从第六章看起 比较好。
    但总的说来 他是ios5的中文教材太少了 还是值得一看的!
  •   ios的童鞋可以看看
  •   对于开发新手还不错,外文原版已经到第三版了,国内第二版才刚刚翻译完。
  •   编程必备书籍
  •   按照目录顺序入门培训用
  •   讲的比较详细 但内容有点过于细了,不适合有基础的
  •   很好,是新手,但愿能很快上手
  •   刚买,相比其他书籍比较适合入门
  •   例子比较简单、易懂,入门不错。object-c的介绍很少,建议另外学习。
    书写的是4,并不是4.3.2,操作起来差别还是比较大的,但查一查还是比较容易理顺。
  •   纸张不错 前半部分排版不错,后面乱了;设计师要再努力些
  •   书刚到,还未看,看看上评价。
  •   国外的写的书讲解真是透彻啊!!!国内人写的书 都只想赚钱 妈的
  •   很实际,讲解独到,提升能力!
  •   一般般,有点杂乱
  •   外皮有轻微磨损,有压痕。
  •   刚难道准备好好看一下,希望不错
  •   总体感觉还不错,只不过翻译的不是很好
  •   假如能够多一些操作实例,更好。
  •   我怎么头脑发热开始学习这个啊,看来得慢慢来了
  •   还没开始看,看目录不错。
  •   刚拿到手,想学习iOS编程,字有点太小了,看着很不舒服,内容还没看。
  •   iOS2编程第二版 一般
  •   IOS的基础书籍
  •   貌似第三版的出了,翻译速度太慢了,早知道直接买英文版的第三版的了,IOS5的,有点坑爹,算了,将就着看,书的内容还是不错的
  •   书还不错,目前还正在阅读中,看了前几章节,内容不错。
  •   性价比不高,没光盘或案例代码下载
  •   比较适合初学者巩固基础
  •   很一般 入门看看即可
  •   当当网的书的质量都不错,此书是小儿买的,说真话,他这年龄根本看不懂,呵。。
  •   准备好好学习,先评价一下。挑了好久挑中的。期待中。。
  •   左下角直接压烂了一截的你也卖,我认了,以后和你说拜拜了当当。
  •   买来了才发现好像用不上
  •   已经拜读前4章内容,先不说内容好坏,这个翻译实在是让人受不了,不会翻译就不要翻译,误人子弟。没点基础的,可能还看不懂说点什么,大家千万不要**了。
  •   苹果家的 SDK 变得太快,本书是第二版,其中的一些实例与最新 Xcode 4.3 不匹配。(比如新版中没有了 window 模板)但是全书条理清楚,例子解释恰到好处。值得初学者购入。
  •   挺好的一本书,书上代码不是很多,都是针对讲解用的一些小例子,但是讲解语言很自然通透,不乏味,逻辑性强,能使读者很容易明白
  •   书很好通俗易懂,对初学者来说大有帮助。不过现在的xcode升级到4.3.3了有些东西变了,不能直接套用。还是需要查看一下官方文档的
  •   虽然很多人说现在的IOS版本在书里有很多程序跑不起~~但是我只遇到一个~~不过都是小问题~·把其中的关键弄懂了就行~~我觉得比视频看起效果要好~~看书的时候,把每个内容都记下来~~然后关着书编一遍~第二天再编写一边~~记得很牢~!好书~~推荐~!!
  •   编者还是用旧版本的讲解,译者有相应修改和更正,比如没有window-based这个模板,但本书基本都是以这个讲解的,不过书中提供该模板下载。
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7