产品特色
编辑推荐
疯狂iOS讲义(第2版)随书附带光盘提供书中所有案例的源代码,全部案例通过真机测试。
疯狂iOS讲义(第2版)介绍了iOS新增的UIVisualEffectView控件,以及iOS 增强的自动布局功能,并通过示例示范了如何利用Size Class和自动布局来开发自定义不同屏幕尺寸的iOS应用。
作者李刚老师已出版深受广大App开发人员喜欢的《疯狂iOS讲义》(上)(下)册《疯狂Swift讲义》等iOS开发畅销书。
海报:
内容简介
本书是《疯狂iOS讲义(上)》的第2版,本书基于全新的iOS 8.1、Xcode 6.1为平台,全面介绍了iOS应用开发的基础知识。书中每个案例、每个截图都全面升级到iOS 8.1。本书全面、细致地介绍了Objective-C的面向对象语法、Foundation框架的核心类库用法、文件 IO体系等知识,掌握Objective-C语言是iOS应用开发的基础。本书将带领读者掌握iOS应用开发的基本理论以及iOS应用的MVC设计和事件处理编程,重点介绍了iOS界面编程、iOS应用的生命周期等内容。
作者简介
李刚,十多年软件行业开发从业经验,疯狂软件教育中心教学总监。
疯狂Java实训营创始人,疯狂Java体系原创图书作者。
广东技术师范学院计算机科学系兼职副教授,51cto专家门诊特邀嘉宾。
培训的学生已在华为、IBM、阿里软件、网易、电信盈科等名企就职。
国内知名高端IT技术作家,已出版《疯狂Java讲义》《疯狂Android讲义》《轻量级Java EE企业应用实战》《疯狂iOS讲义(上)(下)》《疯狂Ajax讲义》《疯狂XML讲义》《经典Java EE企业应用实战》《疯狂HTML 5/CSS 3/JavaScript讲义》《Struts 2.x专业指南》等著作。其中疯狂Java体系图书经多年沉淀,赢得极高的市场认同,多次重印成为超级畅销书,并被多所“985”“211”院校选作教材。部分图书已被翻译成繁体中文版、授权到台湾地区。
内页插图
目录
第1章 iOS应用与开发环境
1.1Objective-C与iOS简介
1.1.1Objective-C简介
1.1.2iOS简介
1.2搭建iOS开发环境
1.2.1下载并安装Xcode和SDK
1.2.2安装辅助工具和文档
1.3第一个Objective-C程序
1.3.1使用文本编辑器开发Objective-C程序
1.3.2使用Xcode工具开发Objective-C程序
1.4熟悉Xcode
1.4.1创建iOS项目
1.4.2熟悉导航面板
1.4.3熟悉检查器面板
1.4.4熟悉库面板
前言/序言
移动互联网热潮在全世界引起了巨大反响,移动互联网正在改变着传统互联网的格局,全世界的IT公司争相将业务重心向移动互联网转型,移动互联网业务也成为业内最大的利润增长点。
Apple公司的iOS系统作为与Android并驾齐驱的操作系统,具有非常完善的生态圈,而且用户具有良好的付费习惯,吸引了大量的专业软件和小团队,甚至包括个人用户。
Apple公司提供的AppStore作为应用程序市场,它赋予了缺乏市场运作能力的第三方开发商和草根开发者新的商业机会:开发商和草根开发者只需专注于应用的开发,而市场和销售则交给Apple公司管理。在这种模式下,即使小型团队,甚至个人开发者也可以创造财富神话。
《SwiftUI 与 AppKit 精粹:构建现代 macOS 应用》 内容概述: 本书深入剖析了使用 SwiftUI 和 AppKit 构建现代 macOS 桌面应用程序的方方面面。我们将从基础概念入手,逐步引导读者掌握如何利用 SwiftUI 的声明式 UI 框架构建直观、响应式的用户界面,并结合 AppKit 的强大功能,为桌面应用注入原生的 macOS 体验。全书内容紧密围绕 macOS 应用开发的实际需求,涵盖了从 UI 设计、数据管理、事件处理到高级特性如窗口管理、菜单定制、后台任务、性能优化以及与系统服务的集成等各个关键环节。 第一部分:SwiftUI 基础与 macOS 应用初体验 SwiftUI 核心概念: 声明式 UI 范式: 深入理解 SwiftUI 的声明式编程模型,如何通过描述 UI 的最终状态来构建界面,摆脱命令式编程的繁琐。 视图(View)与布局: 学习 `View` 协议、各种内置控件(如 `Text`、`Image`、`Button`、`TextField`)、容器视图(如 `VStack`、`HStack`、`ZStack`、`List`、`ScrollView`)的使用,以及如何利用 `GeometryReader` 和 `Layout` 协议实现灵活的自定义布局。 状态管理(State Management): 掌握 `@State`、`@Binding`、`@ObservedObject`、`@StateObject`、`@EnvironmentObject` 等属性包装器,理解它们在不同场景下的作用,以及如何构建可响应的状态驱动的应用。 导航(Navigation): 学习 `NavigationView`、`NavigationLink`、`Sheet`、`Popover` 等组件,实现多视图之间的切换和数据传递。 视图修饰符(View Modifiers): 探索各种内置修饰符,如 `.padding()`、`.frame()`、`.foregroundColor()`、`.background()`、`.font()` 等,以及如何创建自定义修饰符来封装常用 UI 样式。 macOS 应用结构与生命周期: macOS 项目模板: 了解 Xcode 中创建 macOS 应用的默认项目结构,包括 `App` 协议、`Scene`、`WindowGroup` 等。 应用生命周期事件: 学习如何响应应用启动、进入后台、恢复激活等生命周期事件,以及如何使用 `@AppStorage` 和 `UserDefaults` 进行简单的应用状态持久化。 窗口管理: 掌握 `WindowGroup` 的使用,以及如何创建和管理多个窗口,理解 `Scene` 的概念。 基础 UI 元素的构建: 文本与富文本: 深入使用 `Text` 视图,掌握字体、颜色、对齐方式、行间距等属性,以及 `AttributedString` 在 SwiftUI 中的应用。 图像与图标: 加载本地和远程图像,使用 `Image` 视图,并学习如何创建和使用 SF Symbols。 按钮与交互: 设计各种样式的按钮,实现点击事件处理,并探索 `Gesture` 协议处理更复杂的交互。 输入控件: 熟练使用 `TextField`、`TextEditor`、`Toggle`、`Slider`、`Stepper`、`Picker` 等,收集用户输入。 列表与滚动视图: 构建动态和静态列表,实现数据的高效展示和滚动,掌握 `List` 的 `ForEach` 和 `Identifiable` 协议。 第二部分:AppKit 与 SwiftUI 的融合:发挥原生优势 AppKit 基础概念与 macOS 特性: AppKit 视图层级: 理解 `NSView`、`NSViewController` 的作用,以及与 SwiftUI 视图的区别。 Cocoa 绑定(Cocoa Bindings): 学习 Cocoa 绑定如何简化模型-视图之间的同步,尤其在 AppKit 组件中。 Responder Chain 与事件处理: 深入理解事件的传递和响应机制,以及如何在 AppKit 中处理用户交互。 macOS 系统服务集成: 探索如何利用 AppKit 访问 macOS 的文件系统、剪贴板、通知中心等系统服务。 SwiftUI 与 AppKit 的桥接: `NSViewRepresentable`: 学习如何将 AppKit 的 `NSView` 包装成 SwiftUI 视图,以便在 SwiftUI 项目中复用现有的 AppKit 组件或实现 SwiftUI 难以直接完成的功能。 `UIViewControllerRepresentable`: 类似地,将 AppKit 的 `NSViewController` 集成到 SwiftUI 工作流中。 `SwiftUI` in AppKit: 掌握如何在 AppKit 应用中使用 SwiftUI 视图,实现新旧技术的平滑过渡和混合开发。 macOS 特有的 UI 组件与模式: 窗口(Window)与对话框(Dialog): 学习创建和管理各种类型的窗口,包括主窗口、助手窗口、模态窗口,以及使用 `NSAlert`、`NSOpenPanel`、`NSSavePanel` 等实现文件操作对话框。 菜单(Menu)与工具栏(Toolbar): 设计和定制应用的菜单栏,添加自定义菜单项,以及使用 `NSToolbar` 实现功能快捷访问。 偏好设置(Preferences)与设置面板(Settings Pane): 构建用户友好的偏好设置界面,利用 `NSUserDefaults` 存储用户配置。 视图控制器(View Controllers): 学习 `NSViewController` 的生命周期,以及如何组织和管理复杂的用户界面。 第三部分:高级应用开发与性能优化 数据持久化与管理: Core Data: 深入学习 Core Data 框架,包括数据模型设计、对象图管理、谓词(Predicate)、排序描述符(Sort Descriptor),以及如何在 SwiftUI 和 AppKit 中集成 Core Data。 Realm: 探索 Realm 数据库作为 Core Data 的替代方案,分析其优缺点和适用场景。 文件存储: 学习如何读写文件,包括 JSON、Plist 文件等,以及使用 `FileManager` 进行文件操作。 并发与异步编程: Grand Central Dispatch (GCD): 复习 GCD 的基本概念,以及如何在 macOS 应用中使用队列进行异步操作,避免阻塞主线程。 `async/await` in SwiftUI: 学习 Swift 5.5 引入的 `async/await` 语法,以及如何在 SwiftUI 中优雅地处理异步任务,例如网络请求和数据加载。 Combine 框架: 深入理解 Combine 框架,学习 `Publisher`、`Subscriber`、`Operator` 等核心概念,如何用声明式的方式处理异步事件流,实现数据绑定和响应式编程。 macOS 特有功能深度探索: 多线程与后台任务: 学习如何创建和管理后台线程,处理耗时任务,并避免影响 UI 的响应性。 国际化(Internationalization)与本地化(Localization): 如何为应用添加多语言支持,处理字符串、日期、数字的本地化。 自动布局(Auto Layout)与响应式设计: 虽然 SwiftUI 采用声明式布局,但理解 AppKit 的自动布局原理对于混合开发和处理复杂的 AppKit 视图至关重要。 Sandboxing 与权限管理: 了解 macOS 应用的沙盒机制,以及如何处理文件访问、网络连接等权限。 应用内购买(In-App Purchases): 学习如何集成 StoreKit,实现应用内购买功能。 通知服务(Notification Services): 集成 macOS 的通知中心,向用户发送重要的提示信息。 性能优化与调试: 性能瓶颈分析: 使用 Xcode 的 Instruments 工具,识别应用的性能瓶颈,如 CPU 使用率、内存占用、UI 渲染效率等。 内存管理: 理解 ARC (Automatic Reference Counting) 在 macOS 应用中的工作原理,避免内存泄漏。 UI 渲染优化: 学习如何优化视图的绘制和布局,提高 UI 的流畅度。 调试技巧: 掌握 Xcode 的调试器、断点、日志输出等功能,高效地定位和解决 Bug。 打包与分发: Xcode Archive: 学习如何为应用打包,生成 `.app` 文件。 Mac App Store 发布流程: 了解上架 Mac App Store 的要求和流程,包括证书、签名、应用商店信息配置等。 直接分发: 学习如何创建 DMG 文件,方便用户直接下载安装。 本书特色: 理论与实践相结合: 每个章节都提供了丰富的代码示例,帮助读者理解抽象概念,并能直接上手实践。 循序渐进的难度: 从基础概念开始,逐步深入到高级主题,适合不同水平的 macOS 应用开发者。 强调现代开发实践: 重点介绍 SwiftUI 的强大能力,同时充分利用 AppKit 的成熟生态,为读者构建高性能、用户体验卓越的 macOS 应用提供全面的指导。 聚焦 macOS 原生体验: 深入讲解 macOS 特有的 UI 模式、系统集成和优化技巧,帮助开发者打造地道的 macOS 应用。 全面覆盖: 涵盖了从 UI 构建、数据管理到高级特性和分发的完整开发流程。 目标读者: 希望学习使用 SwiftUI 和 AppKit 构建 macOS 桌面应用程序的开发者。 已经掌握 Swift 语言,但对 macOS 开发不熟悉的开发者。 有 Objective-C 和 AppKit 开发经验,希望转向 SwiftUI 或混合开发的开发者。 希望深入理解 macOS 应用开发核心技术和最佳实践的开发者。 通过阅读本书,您将能够自信地设计、开发、调试并最终发布高质量的 macOS 应用程序,充分利用 SwiftUI 的现代化开发模式和 AppKit 的强大原生功能,为用户带来卓越的桌面应用体验。