iOS开发指南 从零基础到App Store上架(第3版)[试读]
1.1 iOS概述
自从App Store上线以来,它创造了很多神话,给我们这些程序员提供了展示自己的舞台,给了我们创意的空间,给了我们创业的机会。下面让我们从这里开始iOS开发之旅吧。 1.1 iOS概述 在本节中,我们将了解什么是iOS以及iOS 8有哪些新特性。 1.1.1 iOS介绍 iOS是由苹果公司开发的移动设备操作系统,这些移动设备包括iPhone、iPod touch、iPad和Apple TV等,目前最新的操作系统是iOS 8。 苹果公司最早于2007年1月9日的Macworld大会上公布了这个系统,最初是设计给iPhone使用的,后来陆续适用于到iPod touch、iPad和App... 查看全部[ 1.1 iOS概述 ]
1.2 开发环境及开发工具
苹果公司于2008年3月6日发布了iPhone和iPod touch的应用程序开发包,其中包括Xcode开发工具、iPhone SDK和iPhone手机模拟器。第一个Beta版本是iPhone SDK 1.2b1(build 5A147p),发布后立即就能使用,但是同时推出的App Store所需要的固件更新直到2008年7月11日才发布。编写本书时,iOS SDK 8.1.2版本已经发布。 iOS开发工具主要是Xcode。自从Xcode 3.1发布以后,Xcode就成为iPhone软件开发工具包的开发环境。Xcode可以开发Mac OS X和iOS应用程序,其版本是与SDK相互对应的。例... 查看全部[ 1.2 开发环境及开发工具 ]
1.3 本书中的约定
为了方便大家阅读本书,本节介绍一下书中案例代码和图示的相关约定。 1.3.1 案例代码约定 作为一本编程方面的书,书中有很多案例代码,我们可以从图灵网站(www.ituring.com.cn)本书主页免费注册下载或者从智捷课堂提供的本书服务网站(www.51work6.com/ios1.php)下载,解压后会看到如图1-4所示的目录结构。 图1-4 源代码文件目录 ch2~ch24代表第2章到第24章的案例代码或一些资源文件,其中工程或工作空间的命名有如下几种形式。 二级目录标号,如“3.4”说明是3.4节中使用的工程(或工作空间)案例。 三级目录标号,如“3.8.3... 查看全部[ 1.3 本书中的约定 ]
10.1 低耦合企业级系统架构设计
设计模式只是解决某一特定问题的策略,是面向局部的。而一个架构设计是宏观地、全面地、有机地将这些设计模式组织起来解决整个应用系统的方案。衡量一个软件架构设计好坏的原则是:可复用性和可扩展性。因为可复用性和可扩展性强的软件系统能够满足用户不断变化的需求。为了能够使我们的软件系统具有可复用性和可扩展性,我主张采用分层架构设计,层(Layer)就是具有相似功能的类或组件的集合。例如,表示层就是在应用中负责与用户交互的类和组件的集合。 在讨论iOS平台上的应用分层设计之前,我们先讨论一下一个企业级系统是如何进行分层设计的。 10.1 低耦合企业级系统架构设计 首先,我们来了解一下企业级系统架构设计... 查看全部[ 10.1 低耦合企业级系统架构设计 ]
10.2 iOS分层架构设计
iOS(也可以说移动平台)的应用也需要架构设计吗?答案是肯定的,但是并不一定采用分层架构设计。一般情况下,有关信息处理的应用应该采用分层架构设计,而游戏等应用不会这种采用分层架构设计。 提示 游戏开发一般都会采用某个引擎,游戏引擎事实上包含了架构设计解决方案,游戏引擎的架构一般不是分层的而是树形结构的。 图10-2所示是iOS分层架构设计,其中各层内容说明如下。 表示层。它由UIKit Framework构成,包括我们前面学习的视图、控制器、控件和事件处理等内容。 业务逻辑层。采用什么框架要根据具体的业务而定,但一般是具有一定业务处理功能的Swift、Objective-C和C... 查看全部[ 10.2 iOS分层架构设计 ]
10.3 实例:MyNotes应用
在具体介绍分层架构的实现代码之前,先介绍一下本章所使用的实例——MyNotes应用。这个实例是一个基于iOS(iPhone和iPad两个平台)的MyNotes应用,它具有增加、删除和查询备忘录的基本功能。图10-6是MyNotes应用的用例图。分层设计之后,表示层可以有iPhone版和iPad版本,而业务逻辑层、数据持久层和信息系统层可以公用,这样大大减少了我们的工作量。 图10-6 MyNotes应用的用例图 考虑到iOS有iPhone和iPad两个平台,我们针对不同的平台绘制了相应的设计原型草图,如图10-7、图10-8和图10-9所示。 图10-7 iPhone版本的MyN... 查看全部[ 10.3 实例:MyNotes应用 ]
10.4 基于同一工程的分层
本节先介绍基于同一工程的分层,根据表10-1所述,基于同一工程的分层可以有:POOO、PSSS、PSOO和POSS模式,比较有代表性的是PSSS、POOO和PSOO,下面简要介绍这3种模式。 10.4.1 采用纯Swift语言实现——PSSS模式 纯Swift语言实现的分层架构如图10-10所示。打开本节案例MyNotes工程,如图10-11所示。在Xcode工程导航面板中,共有3个组——PresentationLayer、BusinessLogicLayer和PersistenceLayer,其中PresentationLayer用于放置表示层相关的类,BusinessLogicLaye... 查看全部[ 10.4 基于同一工程的分层 ]
10.5 基于同一工作空间静态链接库实现的WLSOO模式
根据表10-1所述,基于同一工作空间静态链接库实现的分层可以有WLOOO和WLSOO模式,下面简要介绍一下WLSOO模式。 10.5.1 使用工作空间 工作空间是多个工程的集合,我们可以把3个不同的层放置在不同的工程中,然后再把这3个工程放置到一个工作空间中。打开本节案例代码MyNotesWorkspace文件夹,再打开MyNotesWorkspace.xcworkspace文件,(.xcworkspace文件是工作空间文件),如图10-16所示。 图10-16 Xcode工作空间 它们之间的依赖关系是:BusinessLogicLayer依赖于PersistenceLayer,P... 查看全部[ 10.5 基于同一工作空间静态链接库实现的WLSOO模式 ]
10.6 基于同一工作空间框架实现的WFSSS模式
从上一节可见使用静态链接库比较麻烦,需要给使用者提供.a和.h文件,还要配置很多环境变量。根据表10-1所述,基于同一工作空间框架实现的分层可以有WFSSS、WFOOO、WFSOO和WFOSS模式,本节先介绍WFSSS模式。 10.6.1 创建框架工程 首先,参考10.5节创建一个工作空间,然后添加表示层工程到工作空间,接着创建数据持久层和业务逻辑层的框架工程,具体创建过程如下:在Xcode中选择菜单项File→New→ Project…,在打开的对话框中选择Framework & Library→Cocoa Touch Framework工程模板,如图10-22所示。 图1... 查看全部[ 10.6 基于同一工作空间框架实现的WFSSS模式 ]
10.7 基于同一工作空间框架实现的WFOOO模式
上一节介绍了基于同一工作空间框架实现的WFSSS模式,本节介绍一下WFOOO模式。WFOOO模式的实现过程与WFSSS模式基本一样,只是WFOOO模式下需要将数据持久层和业务逻辑层的头文件设置为Public。 10.7.1 设置Public头文件 创建好3个工程PresentationLayer、BusinessLogicLayer和PersistenceLayer,PresentationLayer是应用程序工程,而BusinessLogicLayer和PersistenceLayer都是框架工程,我们需要设置框架工程头文件为Public,具体步骤是:参考图10-17所示,使用鼠标将所有... 查看全部[ 10.7 基于同一工作空间框架实现的WFOOO模式 ]
10.8 基于同一工作空间框架实现的WFSOO模式
上一节介绍了基于同一工作空间框架实现的WFOOO模式,本节介绍一下WFSOO模式。 10.8.1 设置Public头文件 BusinessLogicLayer和PersistenceLayer都是框架工程,我们需要设置框架工程头文件为Public,具体步骤是:参考图10-17所示,使用鼠标将所有头文件从Project栏拖曳至Public栏中。 PersistenceLayer工程需要设置为Public的文件有:PersistenceLayer.h、NoteDAO.h和Note.h。 BusinessLogicLayer工程需要设置为Public的文件有:BusinessLogicLay... 查看全部[ 10.8 基于同一工作空间框架实现的WFSOO模式 ]
10.9 基于同一工作空间框架实现的WFOSS模式
上一节介绍了基于同一工作空间框架实现的WFSOO模式,本节介绍一下WFOSS模式。 10.9.1 设置Public头文件 BusinessLogicLayer和PersistenceLayer都是框架工程,我们需要设置框架工程头文件为Public,具体步骤是:参考图10-17所示,使用鼠标将所有头文件从Project栏拖曳至Public栏中。 PersistenceLayer工程需要设置为Public文件的是PersistenceLayer.h,BusinessLogicLayer工程需要设置为Public文件的是BusinessLogicLayer.h。 10.9.2 代码重构 为... 查看全部[ 10.9 基于同一工作空间框架实现的WFOSS模式 ]
书名: iOS开发指南 从零基础到App Store上架(第3版)
作者: 关东升
出版社: 人民邮电出版社
出版年: 2015-4-1
页数: 658
定价: CNY 99.00
装帧: 平装
ISBN: 9787115387769