您的位置:首页 > 移动开发 > IOS开发

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}。

总结:作为一个初学者,觉得自身写的代码重复的颇多,由其是表格控件那里,感觉应该可以抽离出来一个公共的控件,这样使用起来也更方便,所以路漫漫其修远兮,求索。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息