基于ios的派卡系统设计与应用毕业设计(编辑修改稿)内容摘要:

ne 上面开发 C/S 模式的应用, 就必须使用 ObjectiveC 语言编写 iOS 应用。 开发环境 Xcode IDE 目前 iOS 应用开发唯一的开发工具就是 Xcode, 是目前最新版本,它是苹果公司向开发人员提供的集成开发环境,必须运行在 Mac OS 系统下。 它可用于管理工 4 程、编写代码、构建可执行文件、进行源码级调试、进行源代码仓库管理、进行性能调节、应用发布工具等一系列开发工具,可以满足应用开发中的各种需要。 Xcode 支持了多种语言编写的程序,包括 C、 C++、 Java、 ObjectiveC 等,而且每种语言的编 译速度都很快。 Xcode IDE 是 Xcode 集成开发环境主要的组成部分,开发过程中的大部分工作都是使用 Xcode IDE 来完成。 图 是 的主界面。 最新的 Xcode IDE 将功能融为一体,主要的功能有编译器、 Fixit、 Interface Builder、源代码编辑器。 a)编译器。 Xcode IDE 集成了强大的 ObjectiveC、 C、 Java、 C++开源 LLVM 编译器,使得可以生成 iPhone、 iPhone、 iPod Touch 等产品调试用的 app。 . b) Fixit。 在开发的过程 中难免会因为疏忽造成一些语法错误,这时 Fixit 就有了它的用武之地,它能够立即提醒开发者所犯的代码错误,这对开发的效率有非常大的提高。 c) Interface Builder。 在开发过程中,开发者需要构建很多所需的 UI 界面, Interface Builder 能够很快速的生成 UI 界面,并且能够实现代码与界面的功能链接。 图 主界面 d)源代码编辑器。 在编写 iPhone 应用过程中,为了使每个方法每个变量一目了然,开发者不得不使用较长的名字来分辨它们。 源代码编辑器具有智能的代码补全功 能,它还有代码折叠、语法高亮、消息起泡等很多实用功能。 iPhone 模拟器 iPhone 模拟器即 iOS Simulator,在开发过程中我们需要查看代码在设备中的形态,iOS Simulator 的运行结果基本跟真机相似,它有完整的 iOS 设备的不同版本与不同机型,非常方便的让我们可以在很多机型上面测试,解决了我们需要很多真机设备测试的需求,也是调试屏幕适配的重要工具。 由于电脑缺少了部分硬件所以少数功能是 iOS 5 Simulator 不能完成的,比如:定位、加速计、相机、打电话、 3G 网络等功能,所以有一 台真机进行测试也是必不可少的。 Instruments 为了让应用尽可能完善,在开发的同时需要保证应用是否存在闪退等一系列内存泄漏问题,也要保证用户体验要好。 这时 Instruments 起到了重要的作用,在 iOS 应用程序运行在真机或者是模拟器上时,可以利用 Instruments 环境分析性能。 Instruments 会清晰的记录应用程序的行为,可以查看内存分配等重要指标。 这些数据都可以很方便我们对程序的评估和修改,在很大程度上提升了程序的健壮性。 运行环境 iPhone 的硬件规格 由苹果公司官方在线商店( iPhone 不同型号的硬件规格,表 所示: 表 iPhone 硬件规格 型号 iPhone6 Plus iPhone 6 iPhone5s iPhone 5c iPhone 5 屏幕尺寸 英寸 英寸 英寸 英寸 英寸 处理器 A8 芯片拥有64 位架构和M8 运动协处理器 A8 芯片拥有64 位架构和M8 运动协处理器 A7 芯片拥有64 位架构和M7 运动协处理器 A6 芯片 A6 芯片 显示屏 MultiTouch显示屏 MultiTouch显示屏 MultiTouch显示屏 MultiTouch显示屏 MultiTouch显示屏 分辨率 1920X1080 1134X750 1136X640 1136X640 1136X640 摄像头 后 800 万像素,前 120 万像素 后 800 万像素,前 120 万像素 后 800 万像素,前 120 万像素 后 800 万像素,前 120 万像素 后 800 万像素,前 120 万像素 续航 12 小时 11 小时 10 小时 10 小时 10 小时 Touch ID 指纹识别传感器 指纹 识别传感器 指纹识别传感器 重量 172 克 129 克 112 克 132 克 112 克 iPhone 在线办公上的优势 iPhone 的优势之一就是便携,在地铁、在公交、在路上,随时随地非常方便。 iPhone的尺寸相对于电脑来说很小,也很轻,但是 iPhone 的内容远远大于一个图书馆,对于工作者而言能够大大的减轻负担。 iPhone 兼具经济性与环保性,如果公司将 iPhone 应用 6 于办公中,将传统的纸质办公、电脑办公装进 iPhone,不仅减轻了员工的公文包,降低了纸质材料印刷费,无疑在经济和环保问 题上都做的贡献。 在室外我们更是可以通过实时查看数据的方式,了解需要自己实时处理的问题,也方便办公者查看和办公。 APP store拥有许多不同的 iPhone 应用,各种办公方式,激发人们对办公的热情。 目前 APP store里 iPhone 办公类应用很多。 iPhone 改变了人们的信息录入习惯,让人们可以用手指与显示屏触摸和滑动输入,让使用者更加直观明了,缩短了使用者与机器的距离。 iPhone改变了人们对技术的观念,为新一代电子设备打下基础,如今时尚科技已经渗入我们的生活。 iPhone 的不足 优点和缺点 总是相互存在着, iPhone 也不例外。 价格是 iPhone 的硬伤,虽然中国GDP 在不断的增长,但是对于多数家庭来说花四五千去买一台电子设备还是会显得昂贵。 iPhone 开发之初就是面向个人的通信设备,至今主要还是娱乐和社交功能,因此在思想不够成熟的时候很容易分散办公者注意力。 iPhone 等电子设备很多画面都采用明亮的色彩,视觉刺激过于强烈,长时间的观看会引影响人体健康。 iPhone 不支持移动存储设备,在离开 WIFI 的环境中想要分享数据显得很不方便。 iPhone 是现阶段移动办公辅助工具在业界的最高水准,如今市场上 也出现了很多手机,如基于 Android 系统的小米、华为、三星等,基于 WP 系统的诺基亚、 HTC、三星等。 虽然有部分设备硬件性能、便携性上超越了同期的 iPhone,但是是应用的数量与质量、用户体验、续航能力、性价比等还是不能和 iPhone 比拟的。 因此只要合理使用,在条件允许的情况下 iPhone 是移动办公的不二良选。 技术简介 MVC 模式 MVC全名是 Model View Controller,是模型 (model)-视图 (view)-控制器 (controller)的缩写,也是构成这种框架的三个 部分如图 所示。 MVC 是一种软件设计的典范思想,用一种业务逻辑、数据、界面显示分离的方法组织代码,降低耦合,可以说任何一个完整的应用都是由 MVC 构成的。 a) Model(模型) 是应用程序中用于处理应用程序数据逻辑的部分,通常模型对象负责在数据库中存取数据。 模型不需要知道数据是怎样被试图呈现的,也不关心是怎样被控制器操作的。 7 图 MVC 框架图 b) View(视图)是应用程序中处理数据显示的部分。 通常视图是依据模型数据创建的。 视图不能直接与数据通信,使用 dataSourcr 接口从控制器获取数据信 息。 c) Controller(控制器)是应用程序中处理用户交互的部分。 通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。 在 iOS 程序开发过程中视图和控制器之间的通信是固定的,主要通过 outlet 和 action 来实现。 在 MVC 架构下,视图和模型是两个完全独立的成分,以控制器为中介进行交互者,两者没有直接的联系。 开发者编写的对象可以很容易划分到其中的某个部分,也就是低耦合,这种模式适用与大多数语言编程,不仅仅是 ObjectiveC。 iOS 内存管理 程序运行时,开辟的内存空间。 使用 它,释放它的过程,写的好的程序尽可能少使用内存。 ObjectiveC 的内存管理机制与 .Net/Java 那种全自动的垃圾回收机制是不同的,它本质上还是 C 语言中的手动管理方式,只不过稍微加了一些自动方法。 内存管理模式基于对象的 “所有权 ”上。 任何对象都会被有一个或多个使用者引用,只要对象还有一个使用者,该对象就应该继续存在。 如果一个对象没有使用者了,系统将自动销毁它。 为了让开发者清晰的了解:使用对象和不再使用对象的场景, Cocoa 设置了以下策略: (1)管好自己创建的对象。 开发者使用 alloc、 new、 copy 和 mutableCopy 来创建对象。 (2)使用 retain 来获得对象的所有权。 某个函数接受的对象,通常保证在该函数调用期间仍然可用,并可以安全返回对象给上层调用者。 开发者在以下两种情况下使用 retain a 在 “访问函数 ”( accessor)的实现中或者在 init 方法,为了将对象作为自己的属性。 b 防止对象被其他操作释放掉,从而变为无效的对象。 (3)当你不在需要的时候,必须放弃对象所有权。 单例、委托、通知、 block 单例设计模式 Singleton,单例模式的意思就是只有一个实例,单例模式确保 某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类。 单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三 8 是它必须自行向整个系统提供这个实例。 单例模式的优点有:实例控制: Singleton 会阻止其他对象实例化其自己的 Singleton 对象的副本,从而确保所有对象都访问唯一实例。 灵活性:因为类控制了实例化过程,所以类可以更加灵活修改实例化过程。 在objectivec 中要实现一个单例类,至少需要做以下四个步骤: a)为单例对象实现一个静态实例,并初始化 ,然后设置成 nil。 b)实现一个实例构造方法检查上面声明的静态实例是否为 nil,如果是则新建并返回一个本类的实例。 c)重写 allocWithZone 方法,用来保证其他人直接使用 alloc 和 init 试图获得一个新实力的时候不产生一个新实例。 d)适当实现 allocWitheZone, copyWithZone, release 和 autorelease。 delegate 中文叫做委托,通常会用在 class 内部把一些事件处理 委托 给别人去完成。 委托设计模式的实质就是指针的传递。 传递指针的问题在于,对 方持有了对象指针之后是不安全也不合理的,因为当有了对象指针就可以操作对象中任何内容,所以这时候采用委托就很好的避免了对指针的操作。 举个例子, XML Parser 可能他知道怎么 parse xml,但是 parse 到的东西要怎么处理 xml parser 可能不知道。 所以 NSXMLParser 就提供了一个 NSXMLParserDelegate 给 client 去实作,当 parse 到某个 element 的时候,就 callback delegate 所定义的 message, 让他 client 自己去决定怎么去处理这个 element。 通知即 NSNotificationCenter,是专门供程序中不同类间的消息通信而设置的。 每个运行中的 application都有一个 NSNotificationCenter的成员变量,它的功能就类似公共栏。 对象注册关注某个确定的 notification(如果有人捡到一只小狗,就去告诉我 )。 我们把这些注册对象叫做 observer。 其它的一些对象会给 center 发送 notifications(我捡到了一只小狗 )。 center 将该 notifications 转发给所有注册对该 notification 感兴趣的对 象。 我们把这些发送 notification 的对象叫做 poster。 block 的实际行为和 Function 很像,最大的差别是在可以存取同一个 Scope 的变量值。 block 实体形式如下: ^(传入参数列 ){行为主体 }。 block 实体开头是 “^”,接着是由小括号所包起来的参数列 (比如 int a,int b,int c),行为主体由大括号包起来,专有名字叫做 block literal。 行为主体可以用 return 回传值,类型会被 piler 自动辨别。 如果没有参数列要写成 : ^(void)。 3 软件体系架构 与设计 9 软件整体架构设计 派卡系统平台 iPhone 客户端的构建完全遵循 MVC 的设计模式,同时构建基于 iOS系统的软件所使用的 SDK 都是遵循 MVC 设计模式的。 根据公司需求,软件首。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。