iPhone企业应用实例分析之四:技术要点分析(1)
1.异步网络通信
在WebDoc Mobile项目中,系统的异步网络通信功能在AsyncNet类中实现,系统使用AsyncNet类来封装对NSURLConnection的操作,在iOS开发中通常使用NSOperation来处理多任务的并发问题,因为NSURLConnection本身已经支持异步操作,所以没有必要再使用NSOperation来对每个请求进行包装,而是使用一个NSMutableArray来存取请求队列,并使用一个NSMutableDictionary来将请求对象和响应数据进行关联,NSURLConnection对象作为Key,请求对象作为值,增加关联的代码:
NSMutableDictionary *requests;
AsyncNetRequest *request = [[AsyncNetRequest alloc] init];
[requests setObject:request forKey:
[NSValue valueWithNonretainedObject:con]];
[request release];
…
2.Core Data缓存数据
在进行iPhone软件开发时,使用Core Data进行数据缓存或者管理持久数据是一项必须掌握的基本技术。前面我们已经做过介绍,和前面使用Core Data管理“动物园”项目持久数据不同的是,程序在这里没有使用表之间的关联关系,而只是定义文档、文档附件、文档历史以及统计图4种对象对应的数据库模型,用来缓存服务器返回的数据,并不作为关系数据和持久数据使用,在每次程序启动时都会清空数据库,重新使用服务器返回的最新数据,Core Data只起到数据缓存的作用,当数据从服务器返回以后,在第二次使用时程序从缓存取数据而不是从服务器取数据,这样可以提高反应速度,文档对象对应的数据库模型包含的字段定义如下。
// Document.h
#import <CoreData/CoreData.h>
@interface Document: NSManagedObject{
}
…
3.RSA算法加解密
在WebDoc Mobile项目中,iPhone客户端和服务器端(使用Microsoft .NET技术)采用Web Service进行相互通信,通信双方需要将数据进行加密处理,以保证网络通信的安全性,未经认证的客户端Web Service调用将不能在服务器端执行,系统采用业界目前广泛采用的PKI(公钥基础设施)技术进行用户认证管理,使用RSA算法进行加解密,有关RSA算法加解密的具体内容在本书前面的章节已经做了介绍,实现的细节请参考本书附带的光盘中的DocMobile工程,这里就不再详述。
4.自定义控件制作
在WebDoc Mobile项目中,由于用户界面的需要,系统制作了一些自定义的界面控件,其中包括与桌面软件类似的ComboBox界面控件,如图5-12所示。
该控件用于用户登录和高级搜索时,提供下拉多项目选择,程序使用UITextField类、UIPickerView类和UIToolbar类三个主要类实现,具体的实现方法在前面的章节已经做了具体介绍。
自定义搜索控件,控件外观如图5-13所示。
该控件提供在许多数据记录中进行选择过滤的功能,当用户输入一个字符或者单词,程序实时从数据记录中找出开头字符或者记录中包含该字符或者单词的记录,把记录进行实时过滤。这样,用户就不用在很长的列表里面查找,而是从过滤后的少量记录里面挑选,该控件在需要用户从非常多的选项中做选择的时候,可以作为界面设计元素。控件使用SearchViewController类实现,SearchViewController类内部使用UITableView和UISearchBar联合实现记录过滤功能,当用户输入字符时,程序使用NSString类的rangeOfString方法对记录进行过滤,并使用过滤后的记录刷新UITableView的内容,代码如下。
- (void) searchTableView {
NSString *searchText = search.text;
for (NSString *sTemp in tempArray)
{
NSRange titleResultsRange = [sTemp rangeOfString:searchText options: NSCaseInsensitiveSearch];
if (titleResultsRange.length > 0)
[searchArray addObject:sTemp];
}
}
本节控件实现和使用相关的完整源代码文件请参考本书附带的光盘中的DocMobile工程。
本文节选自《iOS软件开发揭密:iPhone&iPad企业应用和游戏开发》一书。
《iOS软件开发揭密:iPhone&iPad企业应用和游戏开发》一书已由电子工业出版社正式出版,本书由虞斌著。
购买地址
当当网:
http://product.dangdang.com/product.aspx?product_id=21082051
卓越网:
http://www.amazon.cn/iOS%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E6%8F%AD%E5%AF%86-iPhone-iPad%E4%BC%81%E4%B8%9A%E5%BA%94%E7%94%A8%E5%92%8C%E6%B8%B8%E6%88%8F%E5%BC%80%E5%8F%91-%E8%99%9E%E6%96%8C/dp/B0051HAIA4/ref=sr_1_1?s=books&ie=UTF8&qid=1306139777&sr=1-1
互动出版网:http://product.china-pub.com/198191
分享到:
相关推荐
【iphone应用开发】Iphone应用开发之五: UIScrollView的详细讲解
本文档收集了25款iPhone开发应用实例,有图例,希望大家喜欢!
很好基于javascript的构建企业级iphone应用的书籍
iPhone游戏编程实例
一个iphone local notification 的例子,简单实用,需要的可以下下来研究下。
iOS 软件开发揭密:iPhone&iPad 企业应用和游戏开发
第一章 iPhone 开发环境设置 第二章 Objective-C编程基础 ...第五章:iPhone企业应用实例分析 第六章:iPad 软件开发基础 第七章:iPad商业软件实例分析 第八章:iOS游戏开发基础 第九章:iOS商业游戏实例分析
《Tapworthy: Designing Great iPhone Apps》(中文《触动人心:设计优秀的iPhone应用》)。可能你设计网站产品或软件界面早已得心应手,可是遇到了iPhone,却感觉无从下手。无论你是产品经理、设计师、创业者还是...
iOS网络高级编程 iPhone和iPad的企业应用开发 [(美)考克斯PDF电子书下载 带书签目录 高清完整版
iPhone用户界面设计典型实例. 北京市:人民邮电出版社, 2011.06. 【内容提要】 本书介绍用户体验和好的外观的应用程序,以及iPhone用户界面设计的秘密。主要包括以下内容:优化使用有限的屏幕面积,让 屏幕上的元素...
iOS网络高级编程 iPhone和iPad的企业应用开发--高清版.pdf 个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!
对《iPhone SDK开发基础》和《iPhone企业应用实例分析》的介绍,很详细哦~
这是一个关于IPhone开发FTP文件上传下载的实例。适合做IPhone网络相关编程参考,需要的朋友可以学习。压缩包在OS下可自解压。
iphone游戏编程实例pdf+源码
教程名称:iPhone开发经典实例源码课程目录:【】iPhone3D手动翻页特效源代码【】iphone下的金融计算器源代码【】iPhone单页横向翻页特效源代码【】iphone开发 经典效果 源码demo【】iphone开发教程源码...
这是在xcode 下开发的一个很好的实例.对于学习常用的控件.非常的有用.
iOS网络高级编程 iPhone和iPad的企业应用开发
iPhone应用程序编程指南-中文版 pdf iPhone应用程序编程指南-中文版 pdf iPhone应用程序编程指南-中文版 pdf
这是iphone xcode开发平台上一个很好的实例.对于学习和理解 一些最常用的空间非常有用.