内容简介
《Cocoa入门:使用Objective-C(第3版)》助你快速开发iOS和OSX应用。就算你丝毫没有接触过苹果开发工具也没有关系。从面向对象编程到使用iCloud存储应用数据,本书覆盖了构建iPhone、iPad,以及Mac应用所需的每一件事情。你将学习如何使用Xcode集成开发环境、Objective-C的Foundation库,以及如EventKit框架和CoreAnimation的其他开发工具。沿着本书的教学方式,你将学会构建示例代码,包括简单的Objective-C应用,自定义视图,简单的视频播放应用,以及为用户演示日历事件的应用。《Cocoa入门:使用Objective-C(第3版)》的主要内容有:学习OSX和iOS的应用程序生命周期;学习使用Cocoa和CocoaTouch中的用户界面系统;使用AVFoundation演示视频和音频;构建允许用户创建,编辑和操作文件的应用;使用文件系统在本地存储数据,或使用iCloud在网络上存储;使用表视图或集合视图演示数据的列表或集合;使用CoreLocation和CoreMotion与现实世界进行交互;对多处理使用块和操作引用。
作者简介
Jon Manning是SecretLab(分布在澳洲的霍巴特、塔斯马尼亚的一个独立的游戏开发工作室)的创立者之一。他从事于各类应用,从儿童的iPad游戏到即时通信客户端。他精通Core Animation,并且经常在充满了渴望学习的iOS开发者的班级里激情地讲课。
Paris Buttfieid-Addison是Secret Lab的另一个创立者,他负责经营他们的工作室。Paris同样从事着各类应用,从非常流行的iPad烹饪应用到家庭自动化工具。在很早以前,他就成为了一个OSX开发者,并且对澳洲的税法有很深的研究。
内页插图
精彩书评
★“如果你对iOS或OSX开发感兴趣,本书是很好的启蒙用书。JON和Paris已经将大量的Cocoa开发知识转化为一本通俗易懂的书。”
——Elaine Wherry Meebo的创立者兼CX0
目录
前言
第1章 Cocoa开发工具
Mac和iOS DeVeloper Program
在Xcode中漫游
开发一个简单的objective-C应用程序
使用i0S模拟器
第2章 使用ObjectiVe-C的面向对象编程
面向对象编程
内存管理
NSObject的生命周期
第3章 Foundation
可变和不可变对象
字符串
数组
字典
NSVlalue和NSNumber
数据
Cocoa中的设计模式
第4章 OS X和iOS应用程序
什么是应用程序?
应用程序的生命周期
应用程序沙盒
第5章 图形用户界面
OS X和iOS中的界面
MVC和应用程序设计
nib文件
构造一个界面
使用nib和约束构建一个应用
Corea Animation
第6章 Block与操作引用
Block
队列的并发性
总结
第7章 在视图中绘制图形
绘制原理
像素网格
在视图中进行绘制
构建自定义视图
第8章 音频和视频
AV Foundation
使用AVPlayer播放视频
使用AVAudioPlayer播放声音
使用图片库
第9章 模型对象和数据存储
键一值编码
键一值观察
使用NSNotification进行通知
偏好设置
使用文件系统
使用沙盒
第10章 Cocoa绑定
绑定视图到模式
一个单独的绑定应用程序
绑定控制器
数组和对象控制器
一个更复杂的绑定应用程序
第11章 表视图和集合视图
数据源和委托
表视图
iOS中的UITableView
OS X中的NSTableView
集合视图
第12章 基于文档的应用程序
NSDocument和UIDocument类
MVC中的文档对象
文档的类型
文档的角色
OS X中基于文档的应用程序
iOS中的基于文档的应用程序
第13章 网络
连接
创建一个网络应用程序
发现周边的服务
第14章 与现实世界交互
使用定位
地理编码
位置和隐私
设备运动
打印文档
第15章 Event Kit
了解事件
处理事件
构建一个事件应用程序
用户隐私
第16章 lnstruments和调试器
Instruments入门
使用Instruments修复问题
引用循环和内存泄漏
使用调试器
第17章 共享与通知
共享
通知
第18章 非标准应用程序
命令行工具
偏好设置面板
状态栏项
第19章 文本处理
国际化和本地化
使用NSformatter格式化数据
使用NSDataDetector检测数据
第20章 iCloud
什么是iCloud存储
设置iCloud
测试iCloud是否工作正常
存储设置
iCloud存储
前言/序言
Cocoa入门:使用Objective-C(第3版) 开启macOS与iOS开发之旅的敲门砖 欢迎来到《Cocoa入门:使用Objective-C(第3版)》的世界,这本书将成为您探索macOS和iOS原生应用开发的可靠向导。如果您渴望构建运行在苹果生态系统中的强大、用户友好的软件,那么这本书正是为您量身打造。无论您是编程新手,还是希望扩展技能集的经验开发者,我们都将以清晰、循序渐进的方式,带您深入了解Cocoa框架的精髓,并熟练掌握Objective-C这门强大的面向对象编程语言。 为什么选择Objective-C和Cocoa? 尽管Swift已经成为苹果推荐的现代开发语言,但Objective-C在Cocoa开发中仍然扮演着至关重要的角色。许多现有的、功能强大的应用和库仍使用Objective-C编写,理解它不仅能帮助您更好地维护和扩展这些项目,还能让您深入洞察Cocoa的底层机制。Cocoa框架是构建macOS和iOS应用的核心技术栈,它提供了丰富的功能和组件,使开发者能够高效地创建引人注目的用户界面,管理数据,处理用户交互,并与设备硬件进行深度集成。掌握Cocoa,就意味着您掌握了开发苹果平台原生应用的能力。 本书的独特之处与内容概述 《Cocoa入门:使用Objective-C(第3版)》并非一本泛泛而谈的教程,而是精心设计,旨在为读者提供扎实的基础和实践经验。本书的每一章都围绕着核心概念展开,并通过大量的代码示例和练习,帮助您巩固所学知识。 第一部分:Objective-C语言基础 在深入Cocoa框架之前,我们首先会为您打下坚实的Objective-C语言基础。您将学习: 面向对象编程的基石: 理解类、对象、继承、封装和多态等核心概念,这是用Objective-C进行开发的基础。我们将通过具体的例子来解释这些概念如何体现在Objective-C的语法中。 Objective-C的语法特性: 学习Objective-C特有的消息传递机制(“方括号语法”)、属性、协议、分类以及消息转发等。您将了解到Objective-C在运行时的高度灵活性。 内存管理: 深入理解Objective-C的内存管理机制,包括引用计数(ARC)和手动内存管理(MRC)的概念。我们将重点讲解ARC,这是现代Objective-C开发中的主流方式,帮助您避免内存泄漏和崩溃。 Foundation框架的初探: 熟悉Foundation框架中常用的数据类型,如`NSString`、`NSArray`、`NSDictionary`、`NSNumber`等,以及它们常用的方法和操作。这些是构建几乎所有Cocoa应用的基础。 Blocks: 学习Objective-C强大的Blocks特性,它允许您创建内联函数,用于处理回调、异步操作和事件处理,极大地提高了代码的可读性和简洁性。 第二部分:macOS开发入门 掌握了Objective-C的基础后,我们将转向macOS应用开发。您将学习: Xcode集成开发环境(IDE): 熟悉Xcode的强大功能,包括项目管理、代码编辑、界面构建(Interface Builder)、调试器和性能分析工具。我们将引导您完成项目的创建、编译和运行。 Cocoa应用程序的基本结构: 理解macOS应用程序的生命周期,了解`AppDelegate`的作用,以及如何处理应用程序的启动和退出。 用户界面(UI)开发: Auto Layout: 学习使用Auto Layout来创建能够适应不同屏幕尺寸和分辨率的自适应用户界面。我们将详细讲解约束的创建、优先级和调试技巧。 关键UI控件: 掌握各种常用的macOS UI控件,如`NSButton`、`NSTextField`、`NSTableView`、`NSCollectionView`、`NSScrollView`、`NSSlider`、`NSDatePicker`等。您将学习如何将它们添加到界面中,并与之进行交互。 视图控制器(View Controllers): 理解视图控制器的作用,以及如何管理视图的生命周期和用户交互。 故事板(Storyboards)与XIB文件: 学习如何使用Interface Builder来可视化地设计用户界面,并通过故事板或XIB文件将界面与代码连接起来。 事件处理与用户交互: 学习如何响应用户的点击、输入、拖拽等操作,并通过Target-Action模式、通知和代理等机制与UI控件进行通信。 文件操作与数据持久化: 学习如何读取和写入文件,以及使用UserDefaults、属性列表(Property Lists)和Core Data等技术来持久化应用程序数据。 多线程与并发: 初步了解GCD(Grand Central Dispatch)和NSOperationQueue,以便在后台执行耗时操作,保持用户界面的流畅响应。 网络编程基础: 学习使用`URLSession`进行网络请求,获取和发送数据,为构建联网应用打下基础。 第三部分:iOS开发入门 在macOS开发的基础上,我们将扩展到iOS应用开发。您将学习: iOS开发环境与模拟器: 熟悉在Xcode中为iOS设备进行开发,并充分利用iOS模拟器进行测试。 iOS应用程序的生命周期: 理解iOS应用的特有生命周期,以及如何在不同状态下管理应用的行为。 iOS用户界面(UI)开发: UIKit框架: 深入学习iOS的核心UI框架——UIKit。您将熟悉`UIView`、`UIViewController`、`UILabel`、`UIButton`、`UITextField`、`UITableView`、`UICollectionView`、`UIScrollView`、`UIActivityIndicatorView`、`UIDatePicker`等关键组件。 Auto Layout in iOS: 再次强调iOS平台上的Auto Layout,学习其在iPhone和iPad上的独特应用和最佳实践。 导航与视图控制器管理: 学习使用`UINavigationController`、`UITabBarController`、`UIPageViewController`等来构建复杂的导航结构。 模态视图(Modal Views): 学习如何呈现和管理模态视图,用于获取用户输入或展示额外信息。 iOS特有的功能: 触摸手势识别: 学习如何识别和处理各种触摸手势,如点击、拖拽、捏合、旋转等。 摄像头与相册访问: 了解如何使用`UIImagePickerController`来访问用户的照片库和摄像头。 定位服务: 学习如何获取设备的地理位置信息,为基于位置的应用提供支持。 通知: 学习如何创建本地通知和远程通知,与用户进行信息推送。 数据持久化在iOS中的应用: 探讨`UserDefaults`、文件系统以及Core Data在iOS应用中的使用。 构建响应式UI: 进一步掌握GCD和NSOperationQueue,确保iOS应用的响应速度和流畅性。 本书的教学方法与特色 循序渐进,夯实基础: 我们坚信,扎实的基础是通往成功的关键。本书从最基础的Objective-C语法开始,逐步引导读者进入更复杂的Cocoa框架。 丰富的代码示例: 每一项概念都配有精心设计的、可运行的代码示例,让您能够直观地理解抽象的概念,并亲手实践。 实用的练习题: 每章末尾都提供了具有挑战性的练习题,帮助您巩固所学知识,并培养解决实际问题的能力。 清晰的讲解风格: 作者用通俗易懂的语言,避免使用过于晦涩的术语,力求让每个读者都能理解。 注重实际应用: 本书的内容紧密结合macOS和iOS开发的实际需求,让您学到的知识能够快速应用于实际项目中。 权威性与更新: 作为第3版,本书已根据最新的macOS和iOS SDK以及Objective-C和Cocoa的发展进行了更新,确保您学习到的是当前最相关的技术。 学习本书,您将能够: 自信地使用Objective-C语言进行编程。 理解Cocoa框架的核心概念和工作原理。 独立设计和开发功能齐全的macOS桌面应用程序。 独立设计和开发功能齐全的iOS移动应用程序。 熟练使用Xcode进行开发、调试和测试。 掌握创建美观、响应式用户界面的关键技术。 处理应用程序的数据持久化和网络通信。 为进一步深入学习Swift和更高级的开发技术打下坚实基础。 无论您的目标是为macOS平台构建创新的生产力工具,还是为iOS平台打造引人入胜的移动体验,《Cocoa入门:使用Objective-C(第3版)》都将是您旅程中不可或缺的伙伴。现在,就让我们一起开启这段令人兴奋的开发之旅吧!
说实话,我选择这本书完全是出于朋友的强烈推荐。他之前是我的大学同学,毕业后就一直在做iOS开发,每次我问他一些关于App开发的问题,他总会提到Objective-C和Cocoa。他说,虽然现在Swift很流行,但Objective-C的底层逻辑和一些设计思想对于理解整个iOS生态系统至关重要,而《Cocoa入门:使用Objective-C(第3版)》这本书是他当年入门时最得力的助手。他详细描述了这本书的排版布局,说每一章都有清晰的章节目标和知识点梳理,并且在讲解理论知识的同时,会穿插大量的代码示例,而且这些代码都经过精心设计,能够很好地验证所学内容。他特别提到,书中的一些项目实战部分,能够让我从零开始,一步步地搭建出一个功能相对完整的应用,这对于我这种实践性学习者来说,是再好不过的体验了。我非常相信他的判断,毕竟他现在的技术功底摆在那里,所以毫不犹豫地入手了。我希望这本书能像他所说的那样,通俗易懂,并且能够有效地提升我的编程技能,让我也能像他一样,能够自信地进行iOS开发。