IOS开发---菜鸟学习之路--(二十三)-直接利用键值对的方式来处理数据的感想
2013-12-28 11:42
537 查看
首先声明,本文纯粹只是做为本人个人新手的理解。文中的想法我知道肯定有很多地方是错的。
但是这就是我作为一个新人的使用方法,对于大牛非常欢迎指导,对于喷子请绕道而行。
由于这是早上跟我学长讨论数据处理时,想到把我的实现手法写个说明,所以就写了。
之后的话我应该还会再写一篇我学长的(比较标准的)处理方式。(当然要等他研究完后,给我看了之后我才能写,嘿嘿。)
关于数据获取使用键值对的方式而不是使用实体对象模型的原因
首先我的数据获取的话是利用系统自带的NSURL类来进行获取的
我自己写了个GetWebInfo类,将获取部分的代码全部放到里面(大家可以参照前面的数据获取那章)
第一个版本是
View Code
获取过来的数据我是直接这样使用的
allcount=[[keys valueForKey:@"total"] integerValue];
[self.list addObjectsFromArray:[keys valueForKey:@“rows"]];
在绑定tableViewCell的数据时候我是 这样操作的
cell.content.text=[[_list objectAtIndex:[indexPath row]] valueForKey:@"内容"];
cell.username.text=[[_list objectAtIndex:[indexPath row]] valueForKey:@"成员名"];
cell.timelabel.text=[[_list objectAtIndex:[indexPath row]] valueForKey:@“时间"];
我之所以直接使用NSArray 也是适当经过考虑的,
首先我没有在iOS开发上面建立过MODEL 没有通过这样的方式来实现(当然我也知道这是非常不符合规范的。)可是我还是选择了使用我自己这种方式
由于我是写C#的,所以我们使用的模式的概念应该是差不多的。如果要再iOS开发当中使用Model 的话,我们肯定需要新建很多个Model。(这里需要编写一部分的代码)
接下来使用的时候我们可能就是 如下的步骤
先获取数—>获取了数据之后 转换成对应的Model—>然后使用
使用的方式应该就是如下的方式
cell.content.text=Model.内容;
cell.username.text=model.成员名
cell.timelabel.text=model.时间
而我的那种方案则是将键值对做为一种 通用的Model 来使用
其实就是我的步骤应该就是如下的过程
先获取数—>获取了数据之后直接转化成NSArray数组—>然后使用
我们直接跨过了抓换对应model的步骤。
我之所以这么使用是因为个人感觉其实我们在编写小型项目的时候,每个页面使用的数据都非常明确,其次在手机上开发的话考虑到传输速度的问题,都是尽量的减少冗余的数据传递,用什么就传什么,所以我们在编写每个页面的时候都非常的清楚该页面需要使用的数据是什么。
其次的话感觉编写手机应用更多的是做 两种操作
1、显示
2、传值
而类似其他的一些复杂的数据处理都应该交由后台来处理。(当然这可能跟我目前开发的项目类型有关。)
所以我们对于每个页面需要显示的数据,需要传递的数据都是非常明确的,所以用这种键值对的方式来处理数据我个人感觉也是挺方便的。
但是这就是我作为一个新人的使用方法,对于大牛非常欢迎指导,对于喷子请绕道而行。
由于这是早上跟我学长讨论数据处理时,想到把我的实现手法写个说明,所以就写了。
之后的话我应该还会再写一篇我学长的(比较标准的)处理方式。(当然要等他研究完后,给我看了之后我才能写,嘿嘿。)
关于数据获取使用键值对的方式而不是使用实体对象模型的原因
首先我的数据获取的话是利用系统自带的NSURL类来进行获取的
我自己写了个GetWebInfo类,将获取部分的代码全部放到里面(大家可以参照前面的数据获取那章)
第一个版本是
-(NSArray *)dogetWebInfoForNSArray { NSURL *url = [NSURL URLWithString:WEBADDRESS]; NSData *queram=[parameters dataUsingEncoding:NSUTF8StringEncoding]; NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url]; [urlRequest setHTTPMethod:@"POST"]; [urlRequest setHTTPBody:queram]; NSData* result = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:nil error:nil]; NSString *string=[[NSString alloc] initWithData:result encoding:NSUTF8StringEncoding]; NSData* jsonData=[string dataUsingEncoding:NSUTF8StringEncoding]; NSArray *keys = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:nil]; return keys; }
View Code
获取过来的数据我是直接这样使用的
allcount=[[keys valueForKey:@"total"] integerValue];
[self.list addObjectsFromArray:[keys valueForKey:@“rows"]];
在绑定tableViewCell的数据时候我是 这样操作的
cell.content.text=[[_list objectAtIndex:[indexPath row]] valueForKey:@"内容"];
cell.username.text=[[_list objectAtIndex:[indexPath row]] valueForKey:@"成员名"];
cell.timelabel.text=[[_list objectAtIndex:[indexPath row]] valueForKey:@“时间"];
我之所以直接使用NSArray 也是适当经过考虑的,
首先我没有在iOS开发上面建立过MODEL 没有通过这样的方式来实现(当然我也知道这是非常不符合规范的。)可是我还是选择了使用我自己这种方式
由于我是写C#的,所以我们使用的模式的概念应该是差不多的。如果要再iOS开发当中使用Model 的话,我们肯定需要新建很多个Model。(这里需要编写一部分的代码)
接下来使用的时候我们可能就是 如下的步骤
先获取数—>获取了数据之后 转换成对应的Model—>然后使用
使用的方式应该就是如下的方式
cell.content.text=Model.内容;
cell.username.text=model.成员名
cell.timelabel.text=model.时间
而我的那种方案则是将键值对做为一种 通用的Model 来使用
其实就是我的步骤应该就是如下的过程
先获取数—>获取了数据之后直接转化成NSArray数组—>然后使用
我们直接跨过了抓换对应model的步骤。
我之所以这么使用是因为个人感觉其实我们在编写小型项目的时候,每个页面使用的数据都非常明确,其次在手机上开发的话考虑到传输速度的问题,都是尽量的减少冗余的数据传递,用什么就传什么,所以我们在编写每个页面的时候都非常的清楚该页面需要使用的数据是什么。
其次的话感觉编写手机应用更多的是做 两种操作
1、显示
2、传值
而类似其他的一些复杂的数据处理都应该交由后台来处理。(当然这可能跟我目前开发的项目类型有关。)
所以我们对于每个页面需要显示的数据,需要传递的数据都是非常明确的,所以用这种键值对的方式来处理数据我个人感觉也是挺方便的。
相关文章推荐
- IOS开发---菜鸟学习之路--(十八)-利用代理实现向上一级页面传递数据
- IOS开发---菜鸟学习之路--(十九)-利用NSUserDefaults存储数据
- IOS开发---菜鸟学习之路--(十三)-利用MBProgressHUD进行异步获取数据
- IOS开发---菜鸟学习之路--(十二)-利用ASIHTTPRequest进行异步获取数据
- IOS开发---菜鸟学习之路--(二十二)-近期感想以及我的IOS学习之路
- IOS开发---菜鸟学习之路--(二十一)-利用正则表达式解析URL获取其中的参数
- IOS开发---菜鸟学习之路--(二)-数据获取
- IOS开发---菜鸟学习之路--(五)-MacBook购买前后感想
- IOS开发---菜鸟学习之路--(二十二)-近期感想以及我的IOS学习之路
- IOS开发---菜鸟学习之路--(三)-数据解析
- IOS开发---菜鸟学习之路--(十七)-利用UITableView实现个人信息界面
- IOS开发---菜鸟学习之路--(二)-数据获取
- IOS开发---菜鸟学习之路--(九)-利用PullingRefreshTableView实现下拉刷新
- IOS开发---菜鸟学习之路--(十一)-使新闻内容自适应高度
- IOS开发---菜鸟学习之路--(十五)-如何实现拍照功能
- 基于MVC4+EasyUI的Web开发框架经验总结(12)--利用Jquery处理数据交互的几种方式
- (转)基于MVC4+EasyUI的Web开发框架经验总结(12)--利用Jquery处理数据交互的几种方式
- 【IOS 开发学习总结-OC-40】★★ios开发之事件机制——控件获取方式与事件处理方式
- IOS开发---菜鸟学习之路--(一)
- 【iOS开发-74】解决方式:Xcode6下利用preference保存数据,终于的plist文件在哪里?