编辑推荐
运用Objective-C学习Cocoa,有助于提高掌握Cocoa和Objective-C以及开始在iOS和OS X平台上进行应用开发的速度。如果你不熟悉苹果公司的开发工具,这没有关系!那就从面向对象的编程开始,直到学会将应用数据存入iCloud为止。本书涵盖了创建iPhone、iPad和Mac所需的各种知识。
内容简介
通过本书,你将学会如何使用Xcode IDE、Objective-C的基础库,以及事件工具库和核心动画制作之类的其他开发工具。循序渐进,你将从构建实例项目开始,创建简单的Objective-C的应用、客户视图、简单的视频播放器,以及为用户显示日历事件的应用。
学习OS X和 iOS应用软件的生命周期。
使用Cocoa和Cocoa Touch的用户界面系统。
使用AV Fundation播放视频和音频。
构建供用户利用文档来创建、编辑和使用的应用程序。
使用文件系统进行本地数据存储,或使用iCloud在网络上存储数据。
使用表视图和集合视图显示数据列表或集合。
使用Core Location和Core Motion进行内外通信。
使用块和操作查询来进行多重处理。
作者简介
Paris Buttfield-Addison,是Secret实验室的合伙创始人,作为一名无线通信设计师和工程师,他还从事游戏设计和个人信息管理研究。
Jon Manning,是一名iOS开发的培训员、游戏设计者和研究者,还是移动软件工程师。他也是Secret实验室的合伙创始人。
Tim Nugent,是一名移动应用程序的开发员和游戏设计师,也是一名博士生兼作家。你可以用@The_McJones在Twitter上与他进行联系。
内页插图
精彩书评
“如果你对iOS或OSX开发感兴趣的话,这是一本理想的入门教程。Jon和Paris将他们在Cocoa开发中积累的各种知识转化成了这本浅显易懂的经验之书。”
——ElaineWherry,
Meebo合伙创始人和CXO
目录
前言.1
第1章 Cocoa开发工具 .9
Mac和iOS 开发程序 9
在Xcode漫游 11
开发一个简单的Objective-C应用程序.21
使用iOS模拟器25
第2章 使用Objective-C的面向对象编程 . 27
面向对象编程 27
内存管理 38
NSObject的生命周期40
第3章 Foundation 42
可变和不可变对象.42
数组 48
字典 52
NSValue和NSNumber53
Cocoa中的设计模式 .58
第4章 OS X和iOS应用程序 . 61
什么是应用程序 .61
应用程序的生命周期66
应用程序沙盒 72
第5章 图形用户界面 76
OS X和iOS中的界面 76
MVC和应用程序设计77
Nib文件 77
构造一个界面 83
使用nib和约束构建一个应用 85
UI Dynamics .87
为iOS设计界面90
第6章 块和操作队列 95
块95
操作队列的并发性 101
小结 103
第7章 在视图中绘制图形 107
绘图原理 . 107
像素网格 . 109
在视图中绘图 111
构建自定义视图 113
第8章 音频和视频 . 133
AV Foundation 133
用AVPlayer播放视频 . 134
用 AVAudioPlayer播放声音 141
使用照片库. 143
第9章 模型对象和数据存储 150
Key-Value Coding151
Key-Value Observing .152
用NSNotification通知 154
用沙箱工作. 163
第10章 Cocoa绑定 166
绑定视图到模型 166
一个单独的绑定App 167
绑定控制器. 169
数组和对象控制器 171
一个更复杂的绑定程序 172
第11章 表格视图和集合视图. 178
数据源和委托 178
表格视图 . 179
iOS下的UITableView .179
OS X上的NSTableView 187
集合视图 . 192
第12章 基于文档的应用程序 196
NSDocument和UIDocument类 .197
MVC下的文档对象 197
文档种类 . 197
文档规则 . 198
OS X下基于文档的应用程序. 198
iOS下基于文档的应用程序 206
第13章 网络 214
连接 214
建立一个网络版的应用程序 218
Bonjour 服务发现 220
Multipeer Connectivity .222
第14章 现实世界的工作 . 226
使用Location .226
地理编码 . 233
区域监测和iBeacons235
位置与隐私. 237
地图 237
设备运动 . 240
打印文档 . 245
游戏控制器. 248
App Nap 250
第15章 事件工具包 252
理解事件 . 252
使用事件 . 255
建立事件应用 256
用户隐私权. 261
第16章 工具和调试器 262
启动仪器 . 262
用仪器修复问题 268
保持循环和泄漏 272
使用调试器. 275
第17章 共享与通知 281
共享 281
通知 287
第18章 非标准应用 295
命令行工具 295
偏好设置面板 297
状态项 . 300
多窗口的iOS应用 302
第19章 使用文本 305
国际化和本地化 . 305
用NSFormatter格式化数据 308
用NSDataDetector检测数据 . 310
文本工具箱 313
第20章 iCloud 315
iCloud存储什么 315
iCloud设置 316
测试iCloud的工作情况 318
存储设置 . 318
iCloud存储 323
前言/序言
在Mac首次支持Cocoa框架时,我们就开始研究它了。从那时起,我们看到了Cocoa和Objective-C 从一个小型程序员环境逐步发展为世界上最重要及最有影响力的开发环境之一(实际上,在最近几年,Objective-C成为了TIOBE索引中最受欢迎程序语言之一)。
这些年,我们开发了许多大型而复杂的iOS 和OS X 软件,并以这种方式将它带到成千上万人面前。我们已经对这个工具集,架构和程序语言有了一个深刻的理解,那就是为iOS和OS X 提供最好的软件才是最重要的。苹果时常做出改变,就像最近关于瘦身的iPad 和强大的iPhone 展示的那样,然而关于使用开发工具、框架,以及语言来实现你的想法的必要知识不会改变。这本书将会教你这些知识,带给你自信,使你庆幸能够使用Cocoa、Cocoa Touch 以及Objective-C进行iOS和OS X开发。
读者对象
需要有一定开发能力,但不需要开发过iOS或者OS X ,或者使用过Objective-C 。同时,作为用户对OS X有过非常舒适的体验,并且了解如何使用一个iOS设备。
本书组织结构
在本书中,我们将讨论Cocoa和Cocoa Touch 和OS X ,以及在OS X 和iOS 上分别使用的框架。沿着这个线路,我们也将讨论Objective-C ,包含它的语法和特性。每章会包含相当多实用的例子,可以跟着做。前面的章节包含通用的话题,例如设置开发环境,认识Objective-C语言,但后面的章节包含一些Cocoa和Cocoa Touch 独特的特性。
下面是各章主要内容的简介:
第1章 Cocoa开发工具本章介绍Cocoa 和Cocoa Touch ,以及在OS X 和iOS 上使用的架构。我们将介绍Xcode,这是这些平台编写代码要使用的集成开发环境(IDE)。本章也包含Apple Developer Programs ,如果想在Mac和iTunes App Stores 上发布软件,这是很有必要的。
第2章使用Objective-C的面向对象编程本章介绍面向对象编程,Objective-C 使用的编程模式,以及Objective-C 如何实现面向对象编程。本章也包含Cocoa和Cocoa Touch 的内存管理,这是开发Mac程序和iOS 程序最需要去了解的东西。
第3章 Foundation 本章介绍Foundation框架,它提供了基本数据类型(如字符串、数组和字典)。本章也讨论Cocoa和Cocoa Touch 主要依赖的底层设计模式。
第4章 OSX和iOS应用程序本章讨论应用在Mac和iOS设备上如何安装和操作。在这一章,我们将讨论在两种平台上应用的生命周期,以及沙盒化如何应用访问数据和资源。
第5章图形用户界面本章将演示用户界面如何载入并呈现给用户。本章介绍Cocoa提供的一种最强大的概念:nibs ,它预定义和预配置用户界面,能够直接连接到代码。本章也将讨论在OS X 和iOS上使用的动画系统Core Animation ,以及用户界面附加的物理特性UIDynamics。
第6章 Block与操作队列本章介绍Block,这是由Objective-C 引入到C语言中的一个非常灵活而有用的扩展。Block 是一种函数,它能够被存储在变量中,并且可以像值一样被传递。这使得回调的实现变得非常简单。本章还介绍了操作队列,这是一种直接的方式来处理并发,不需要考虑线程。
第7章在视图中绘制图形在本章中,将学习同时适用于OS X 和iOS 中的绘图系统,以及如何绘制定制图形。本章还包括视网膜屏幕显示Sprite Kit,以及视图坐标是如何工作的。
第8章音频与视频本章介绍使用AVFoundation 播放音频和视频,音频的和视频引擎。也将学习如何使用iOS照片库,以及访问用户照片。
第9章模型对象和数据存储本章介绍了一套在OS X 和iOS上同时可用的数据存储选项。还包括键值编码(Key-Value Coding,KVC)和键值观察(Key-Value Observing,KVO),偏好设置,通知,文件系统访问。此外,将学习如何制作安全域书签,这允许沙盒化的应用获取用户授权的访问。
第10章 Cocoa绑定本章介绍了Cocoa绑定,这是一个非常强大的系统,允许连接应用用户界面到另一个应用数据,而不需要额外的连接代码。
第11章表视图和集合视图本章介绍表视图(一个有效的方式,用于向用户显示多行数据)和集合视图,允许给用户显示一组数据项。
第12章基于文档的应用程序本章同时讨论了iOS 和OS X 上的文件系统,这有助于创建与多个文件相关的应用。这里,我们讨论这两个平台处理文件方面的区别。
第13章网络Cocoa 和Cocoa Touch 提供非常直接的方式来访问网络资源,本章将演示如何在保持应用持续响应的情况下从网上获取信息。本章还介绍网络服务探测系统Bonjour。
第14章与现实世界交互本章介绍各种用于连接真实世界的技术:Core Location ,用于获得GPS访问;Core Motion用于了解硬件是如何移动和确定方向的,并且也包含同时适用于iOS和OS X 的打印系统。还将讨论Beacons、游戏控制器和地图。
第15章 Event Kit 本章讨论iOS和OS X 同时使用的日历系统,并演示如何获取用户日历的访问。我们也将讨论对用户隐私的考虑。
第16章 Instruments和调试器本章介绍工具,这是用于Mac和iOS应用的分析器和分析工具。本章也将讨论一个应用崩溃的例子,崩溃的原因通过运行这个应用得以诊断并修复。另外,本章还包含Xcode内置调试器的使用。
第17章共享与通知本章讨论应用如何共享文字、图像,以及需要使用各种其他服务(如Twitter,Facebook)的内容,使用内置共享系统(不需要应用处理对这些服务的授权)。另外,我们还将介绍推送通知和本地通知,允许应用显示信息给未运行应用的用户。
第18章非标准应用程序不是每个应用都会被放置在用户的主屏幕上,本章将告诉如何写三种不同的非标准应用:命令行工具、菜单栏应用,以及偏好面板。
第19章文本处理本章介绍同时适用于iOS和OS X 的字符串本地化系统TextKit ,我们将在本章讨论使用内置数据探测器从文字中提取数据。
第20章 iCloud 本章讨论iCloud,它是苹果提供的云数据存储和同步系统。iCloud的功能和需求将被讨论,包含OS X和iOS的演示应用。
本书约定
以下是印刷上的约定:
斜体字(italic)表示新术语、URL、email地址、文件名以及文件扩展名。
固定宽度(Constant.width) 用于程序清单,段落内引用程序元素,如变量或函数名、数据库、数据类型、环境变量、语句和关键词。
固定宽度粗体(Constant.width.Bold) 显示命令或其他用户逐字输入的文字。固定宽度斜体(Constant width italic) 显示应该被用户支持的值或通过上下文决定的值替换的文字。
这个图标表示一个提示、建议。
这个图标表示一个普通的注意。
这个图标表示一个警告或警示。
使用示例代码
本书的补充材料(示例代码,练习等)可在下面的网址下载https://github.com/ thesecretlab/LearningCocoa4thEd 。
本书可以帮助你完成自己的工作。通常,可能会在自己的程序或文件中使用本书的代码。不需要联系我们获得许可,除非使用了这个代码的重要部分。例如,使用本书中几段代码编写一个程序不需要获得许可,然而销售或发布一个光盘,包含O'Reilly 的书中示例,这需要获得许可。引用本书回答某些问题以及引用示例代码不需要许可。合并本书大量的示例代码到你的产品文件则需要获得许可。
不要求注明出处,但如注明表示感激。一个出处通常包括标题、作者,出版社以及ISBN。例如:“Learning Cocoa with Objective-C by Jonathon Manning, Paris Buttfield-Addison, and Tim Nugent (O’Reilly). Copyright 2014 Jonathon Manning, Paris Buttfield-Addison, and Tim Nugent, 978-1-491-90139-7.”
如果你感觉对示例代码的使用超出了合法使用或以上允许的范围,请联系我们:permissions@oreilly.com 。
Safari. Books Online
Safari Books Online(www,safaribookonline.com)是一个按需服务的数字图书馆,它将高质量的内容以书本和视频的形式表现出来,这些信息都来自技术上和商业上处于世界领先地位的作者。
技术专家,软件开发者,网页设计师,以及商业人士和有创意专业人士使用Safari BooksOline作为他们的主要资源,用于研究,解决问题,学习和专业认证训练。
Safari Books Online 为组织、政府机构和个人提供了一系列的产品组合和定价程序。订阅者可以访问成千上万的图书,训练视频,以及一个可任意搜索的数据库(来自出版社,如O’Reilly Media, Prentice Hall Professional, Addison-Wesley Professional, Microsoft Press, Sams, Que, Peachpit Press, Focal Press, Cisco Press, John Wiley & Sons, Syngress, Morgan Kaufmann, IBM Redbooks, Packt, Adobe Press, FT Press, Apress, Manning, New Riders, McGraw-Hill, Jones & Bartlett, Course Technology 等)中的一个出版前的手稿。关于Safari Books Online的更多信息,请在线与我们联系。
联系我们
请发送关于本书的评论和问题到以下出版社:美国:
O’Reilly Media,Inc.1005 Gravenstein Highway NorthSebastopol,CA 95472
中国:
北京市西城区西直门南大街2号成铭大厦C座807室(100035)奥莱利技术咨询(北京)有限公司
致谢
Jon感谢他的母亲、父亲,以及家庭中的其他成员对他的大力支持。
Paris感谢他饱受苦难的母亲,从孩提时代母亲的信用卡就成为他上百部移动设备的后备力量,这很有可能就是他现在沉迷于iPhone、iPad和移动设备的原因。
Tim 感谢他的父母和家人忍受他相当乏善可陈的生活方式。
感谢我们的编辑Brian Jepson 和Rachel Roumeliotis ,他们的技术和建议对于本书的完成有着重大的贡献。同时,感谢所有O’Reilly Media员工,在撰写本书的过程中,他们展现了在各自领域的卓越才能。
非常感谢Tony Gray ,感谢AUC给予我们的大力帮助,并感谢在本页上列出的其他人。如果没有他们,我们不会写这本书。
同时,感谢Neal Goldstein,在将我们俩推进整本书写作的事情上,他一直都很负责。
感谢Maclab的工作人员对我们的支持,他们了解自己,并一直坚信着。再次感谢Admiral Dolphin ,还有Christopher Lueg 教授以及Tasmania 大学与我们一起并肩作战的其他人员。
由于种种原因,我们还要感谢TimN 、Nic W、Andrew B、Jess L和Ash J。最后,特别感谢Steve Jobs,如果没有他,这本书不可能存在。
Cocoa学习手册(第四版) [Learning Cocoa with Objective-C] 下载 mobi epub pdf txt 电子书 格式
Cocoa学习手册(第四版) [Learning Cocoa with Objective-C] 下载 mobi pdf epub txt 电子书 格式 2024
Cocoa学习手册(第四版) [Learning Cocoa with Objective-C] mobi epub pdf txt 电子书 格式下载 2024