网络请求综合应用___搭建网易新闻的头条和详情
2015-08-14 21:14
555 查看
今天学的了几个第三方,MJRefresh SDWebImage AFNetworking 讲过一遍之后 我就知道一个是刷新 一个是请求图片资源 一个是网络请求 但是就是不知道啥时候应该用.已经如何运用.男神说布局可以用storyboard 所以不必太纠结.必须清楚逻辑.
回顾下上课的操作吧 引入头文件 然后将头文件改成支持MRC(-fobjc-arc)的 注意自己定义的本事就是MRC的 千万别画蛇添足自找麻烦.
3根据网易新闻的头条三种不同风格的cell决定自定义三种样式的cell
![](http://img.blog.csdn.net/20150814213231580?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20150814213143704?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
给自定义Cell初始化的时候的时候可以用两种方法,第一种注册(注册了就可以直接取不必再alloc
init了).第二种就是直接从重用池取cell,但是记得如果cell为空的情况,就是记得alloc init.
创建完头条控制器界面之后,重点就是读取数据.将给的头条接口http://c.3g.163.com/nc/article/headline/T1348647853363/0-20.html利用在线解析工具解析一下.分析出这些数据是三层.最外层是一个字典,字典中"T1348647853363"这个键对应的value值是我们需要的.而这个value值是一个一个新闻字典组成的,而我们需要的数据对应的键值应该是"imgextra"[图片数组],可以想到肯定是三张图片那种类型cell独有的
"title"[标题,共有] "imgsrc"[第一张图片,共有] "digest"[详情,共有] "editor"[一张大图,大图cell特有].这个时候我们就应该有model类应该定义几个属性的概念以及将来如何区分cell样式了.
如果model对象包含imgextra这个属性,即
就应该用那张大图风格的Cell,即从重用池取大图风格的Cell.
就只能从重用池取标准类型的Cell咯.
回顾下上课的操作吧 引入头文件 然后将头文件改成支持MRC(-fobjc-arc)的 注意自己定义的本事就是MRC的 千万别画蛇添足自找麻烦.
<span style="font-size:18px;">1,选择项目中的Targets,选中你所要操作的Target, 2,选Build Phases,在其中Complie Sources中选择需要ARC的文件双击,并在输入框中输入:-fobjc-arc,如果不要ARC则输入:-fno-objc-arc</span>然后commond+n在resource添加了一个宏定义文件(HeadFile)
3根据网易新闻的头条三种不同风格的cell决定自定义三种样式的cell
给自定义Cell初始化的时候的时候可以用两种方法,第一种注册(注册了就可以直接取不必再alloc
init了).第二种就是直接从重用池取cell,但是记得如果cell为空的情况,就是记得alloc init.
创建完头条控制器界面之后,重点就是读取数据.将给的头条接口http://c.3g.163.com/nc/article/headline/T1348647853363/0-20.html利用在线解析工具解析一下.分析出这些数据是三层.最外层是一个字典,字典中"T1348647853363"这个键对应的value值是我们需要的.而这个value值是一个一个新闻字典组成的,而我们需要的数据对应的键值应该是"imgextra"[图片数组],可以想到肯定是三张图片那种类型cell独有的
"title"[标题,共有] "imgsrc"[第一张图片,共有] "digest"[详情,共有] "editor"[一张大图,大图cell特有].这个时候我们就应该有model类应该定义几个属性的概念以及将来如何区分cell样式了.
如果model对象包含imgextra这个属性,即
<span style="font-size:18px;"> if (对象.imgextra !=nil)</span>就应该从重用池取三张图片样式的cell[假如我们使用的是注册的方案,所以这下面的步骤不再重新对cell alloc init了 ];
<span style="font-size:18px;"> else if (对象.editor != nil)</span>
就应该用那张大图风格的Cell,即从重用池取大图风格的Cell.
<span style="font-size:18px;"> else { TTFViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cellF" forIndexPath:indexPath]; cell.titleLabel.text = new.title; [ cell.picture sd_setImageWithURL:[NSURL URLWithString:new.imgsrc] placeholderImage:[UIImage imageNamed:@"MoreSetting@3x"]]; cell.destailLabel.text = new.digest; return cell; }</span>
就只能从重用池取标准类型的Cell咯.
相关文章推荐
- 自组织特征映射神经网络(SOFM)
- 卷积神经网络 cnnff.m程序 中的前向传播算法 数据 分步解析
- 浅谈iOS网络编程之一入门
- Linux 网络配置
- 黑马程序员——java复习总结——GUI和网络编程
- 利用tcpdump+wireshark对android进行抓包分析
- Http的个人见解
- 利用curl_multi_init并行多线程处理网络数据
- HTTP通信中的请求转发和请求重定向
- java获取Json和http状态码
- Nginx模块开发(5)————开发简单的HTTP过滤模块
- ubuntu设置系统时间与网络时间同步
- linux下网络编程3:UDP广播传输文件
- Android网络编程之UrlConnection【实例解析】
- nginx学习笔记(1) 使用nginx搭建简单的HTTP服务器
- LBHttpSolrServer
- HttpClient 4.5 利用HTTPS提交POST请求
- Ambiguous handler methods mapped for HTTP path
- Volley网络框架完全解析(缓存篇)
- Volley网络框架完全解析(缓存篇)