iOS新手开发总结
2012-08-02 16:26
155 查看
近期参与一个iOS平台上的小应用《怡情体育》,功能主要是提供最新的各大体育联赛的新闻、直播等,并有用户管理带有一定的社交功能。实现起来也比较简单,服务器爬到数据放在数据库中,移动客户端通过Webservice(soap)向服务器发送请求得到返回数据并显示。
首先介绍下开发过程中用到或者了解的一些开源代码:ASIHTTPRequest(https://github.com/pokeb/asi-http-request)、JsonKit(https://github.com/johnezang/JSONKit)、MBProgressHUD(https://github.com/jdg/MBProgressHUD)。
ASIHTTPRequest 是一款极其强劲的 HTTP 访问开源项目。让简单的 API 完成复杂的功能,如:异步请求,队列请求,GZIP 压缩,缓存,断点续传,进度跟踪,上传文件,HTTP 认证。在新的版本中,还加入了 Objective-C 闭包 Block 的支持,让我们的代码加轻简灵活。当然,在最开始我也准备用此开源工具,但是由于只在调用webservice和上传图片时向服务器发送请求,故只是使用了苹果自身的api实现数据请求。
JSONKit是用Objective-C实现的一个高性能的JSON解析和生成库。起初我使用的是json-framework,后来才改用了JSONKit,感觉JSONKit小巧精悍。
MBProgressHUD是一款非常方便的进度显示控件,调用很方便,源码也不多,很是受用。
其次,我想说下内存管理,这的确是一个iOS开发新手之痛。但是当把问题解决时,也会慢慢变得得心应手。
1.通过alloc、new或copy来创建一个对象,那么你必须调用release或autorelease。换句话说,不是你创建的,就不用你去释放。
2.除了alloc、new或copy之外的方法创建的对象都被声明了autorelease。
3.谁retain,谁release。只要你调用了retain,无论这个对象是如何生成的,你都要调用release。有时候你的代码中明明没有retain,可是系统会在默认实现中加入retain。
可以详细的读读这篇帖子:http://www.cocoachina.com/bbs/read.php?tid=15963 总结的很好。
具体想想在开发过程中遇到些典型的内存泄漏问题:
1.创建的pojo类中,为在dealloc方法内释放掉类的变量成员。
2.在表格控件中,对于每一个单元格由nib创建的,存在大量内存泄漏问题,后改为代码定制单元格,解决了此类问题。
3.对于一个nsmutablearray变量,由于多次调用而没有进行判断并释放,产生内存泄漏,解决办法if(array){[array release]; array=nil}。
总结:作为一个初学者,觉得自身写的代码重复的颇多,由其是表格控件那里,感觉应该可以抽离出来一个公共的控件,这样使用起来也更方便,所以路漫漫其修远兮,求索。
首先介绍下开发过程中用到或者了解的一些开源代码:ASIHTTPRequest(https://github.com/pokeb/asi-http-request)、JsonKit(https://github.com/johnezang/JSONKit)、MBProgressHUD(https://github.com/jdg/MBProgressHUD)。
ASIHTTPRequest 是一款极其强劲的 HTTP 访问开源项目。让简单的 API 完成复杂的功能,如:异步请求,队列请求,GZIP 压缩,缓存,断点续传,进度跟踪,上传文件,HTTP 认证。在新的版本中,还加入了 Objective-C 闭包 Block 的支持,让我们的代码加轻简灵活。当然,在最开始我也准备用此开源工具,但是由于只在调用webservice和上传图片时向服务器发送请求,故只是使用了苹果自身的api实现数据请求。
JSONKit是用Objective-C实现的一个高性能的JSON解析和生成库。起初我使用的是json-framework,后来才改用了JSONKit,感觉JSONKit小巧精悍。
MBProgressHUD是一款非常方便的进度显示控件,调用很方便,源码也不多,很是受用。
其次,我想说下内存管理,这的确是一个iOS开发新手之痛。但是当把问题解决时,也会慢慢变得得心应手。
1.通过alloc、new或copy来创建一个对象,那么你必须调用release或autorelease。换句话说,不是你创建的,就不用你去释放。
2.除了alloc、new或copy之外的方法创建的对象都被声明了autorelease。
3.谁retain,谁release。只要你调用了retain,无论这个对象是如何生成的,你都要调用release。有时候你的代码中明明没有retain,可是系统会在默认实现中加入retain。
可以详细的读读这篇帖子:http://www.cocoachina.com/bbs/read.php?tid=15963 总结的很好。
具体想想在开发过程中遇到些典型的内存泄漏问题:
1.创建的pojo类中,为在dealloc方法内释放掉类的变量成员。
2.在表格控件中,对于每一个单元格由nib创建的,存在大量内存泄漏问题,后改为代码定制单元格,解决了此类问题。
3.对于一个nsmutablearray变量,由于多次调用而没有进行判断并释放,产生内存泄漏,解决办法if(array){[array release]; array=nil}。
总结:作为一个初学者,觉得自身写的代码重复的颇多,由其是表格控件那里,感觉应该可以抽离出来一个公共的控件,这样使用起来也更方便,所以路漫漫其修远兮,求索。
相关文章推荐
- 菜鸟成长日记之新手备忘录-IOS开发第一个项目总结
- 菜鸟成长日记之新手备忘录-IOS开发第一个项目总结
- iOS(iPhone/iPad)开发新手必读
- 微信iOS收款到账语音提醒开发总结
- HotApp小程序统计开发总结之设置了navigationBarBackgroundColor颜色,android 可以显示,ios不能显示
- Android IOS WebRTC 音视频开发总结(九)
- iOS开发经验总结
- iOS开发(测试)遇到问题总结
- 开发腾讯移动游戏平台SDK ios版Ane扩展 总结
- iOS开发中的SQLite知识总结
- iOS开发隐藏键盘方法总结
- Android IOS WebRTC 音视频开发总结(七一)-- H265/H264有何不同
- ioS开发--Xcode常用调试技巧总结
- 【IOS 开发学习总结-OC-38】★ios入门 ——ios项目基础之知识点拾贝
- iOS开发-UI高级 选中按钮的实现方法总结
- Android IOS WebRTC 音视频开发总结(十七)-- 调试技巧
- ios新开发语言swift 新手教程
- 【IOS开发】一个壁纸类的项目总结。
- 开发iOS 6和iphone5版本与之前版本差异总结
- iOS开发之 音频总结