在前年,阿堂在<IOS开发系列之阿堂教程:玩转IPhone客户端和Web服务端交互(客户端)实践>一文中,对于ASIHTTPRequest框架有过一些介简单绍,具体链接地址见http://blog.sina.com.cn/s/blog_4c925dca01011l1s.html.近来阿堂有点空闲时,决定再作些详细的系列介绍,因为这个框架确实还算是比较优秀的,有必要让更多的ios开发者了解使用.ASIHTTPRequest框架是基于Objective-c的优秀的第三方http框架,支持mac o…
在上篇文章中,阿堂和网友们分享了如何用ASIHTTPRequest框架下载数据的实例,本篇阿堂将数据介绍如何用ASIHTTPRequest框架上传数据的应用实例.       数据上传是通过ASIHTTPRequest类实现的.前面提到,ASIFormDataRequest相当于html的表单,当用户通过submit按钮提交给服务器.因此,ASIFormDataRequest请求对象的作用相当于提交表单数据,默认采用post请求方法.        下面,阿堂提供的这个实例是将项目应应用中的te…
从本篇开始,阿堂准备进一步介绍ASIHTTPRequest框架下载数据和上传数据的实际应用.        为了实现多线程并发请求网络能力,ASIHTTPRequest被设计成 NSOperation的子类.ASINetworkQueue被设计成NSOpertaionQueue的子类.如果NSOpertaionQueue是线程管理器,NSOperation就相当于一个线程.它们被添加到NSOperationQueue队列中有序执行.ASINetworkQueue 和ASIHTTPRequest也…
在上一节中,阿堂和网友们分享了ASIHTTPRequest框架对于get,post的同步请求方式.很显然,如果网速比较慢,查询的时候会一直很黑屏,直到请求结束界面才出现结果,这样用户体验肯定很不好了.正如上节阿堂所说,同步请求一般只是在某个子线程中使用,而不在主线程中使用.         ASIHTTPRequest和ASIFormDataRequest两个请求类都可以发送异步请求,而后者继承了前者的异步请求方法,所以这里阿堂重点介绍ASIHTTPRequest的异步请求.异步请求后的处理通过…
从本篇开始,阿堂结合一些具体代码来说明.在ASIHTTPRequest框架中,与http请求相关的类有ASIHTTPRequest  和 ASIFormDataRequest,其中最常用的是 ASIHTTPRequest ,ASIFormDataRequest 是ASIHTTPRequest  的子类,可以发送html类似的表单数据,也可以上传数据,默认采用其它httpy请求方式.它们都可以进行异步或同步请求.         从性能和用户体验来说,阿堂是不建议用同步方式的,建议用异步方式.就是…
说到ios的应用开发,我们不能不提到web server服务端,如果没有服务端的支持,ios应用开发就没有多大意义了,因为从事过手机开发的朋友都知道(Android也一样),大量复杂业务的处理和数据库的处理,其实大部分都是在服务端来完成的,因为iphone客户端的资源是非常有限的,象内存,多线程处理等.我们更多的是把Iphone/ipad等作为一个终端和载体,虽然Iphone客户端也会有自己的数据库,象SQLITE3等,但是也只是非常少量的客户端的数据库存储操作而也.所以我们与其说iphone应…
原文链接地址:http://blog.sina.com.cn/s/blog_81136c2d0102v1ck.html 原文地址:IOS项目打包除去NSLog和NSAssert处理之阿堂教程作者:时空网络          使用过ios开发的网友都知道,我们使用NSLog和NSAssert的目的是为了调试,并在调试阶段输出一些信息,但是在调试结束,应用发布后,如果还使用NSLog和NSAssert输出信息,那样会影响性能.事实上,这个工作量比较大,而且刚刚移除掉时,你会发现又要进行调试,然后再把…
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框架系列教程四(删除数据) CRL快速开发框架系列教程五(使用缓存) CRL快速开发框架系列教程六(分布式缓存解决方案) CRL快速开发框架系列教程七(使用事务) CRL快速开发框架系列教程八(使用CRL.Package) CRL快速开发框架系列教程九(导入/导出数据) CRL快速开发框架系列教程十(…
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框架系列教程四(删除数据) CRL快速开发框架系列教程五(使用缓存) CRL快速开发框架系列教程六(分布式缓存解决方案) CRL快速开发框架系列教程七(使用事务) CRL快速开发框架系列教程八(使用CRL.Package) CRL快速开发框架系列教程九(导入/导出数据) CRL快速开发框架系列教程十(…
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框架系列教程四(删除数据) CRL快速开发框架系列教程五(使用缓存) CRL快速开发框架系列教程六(分布式缓存解决方案) CRL快速开发框架系列教程七(使用事务) CRL快速开发框架系列教程八(使用CRL.Package) CRL快速开发框架系列教程九(导入/导出数据) CRL快速开发框架系列教程十(…