Swift实战-豆瓣电台(四)歌曲列表的展现
观看地址 http://v.youku.com/v_show/id_XNzMwNDE0OTA4.html
这节的主要内容是如何利用cell展现获取到的数据。
首先申明两个数组来储存我们获取到的数据
var tableData:NSArray=NSArray() var channelData:NSArray=NSArray()
tableData是主界面上歌曲列表要用的数据。所以在func tableView(tableView: UITableView!, numberOfRowsInSection section: Int)这个方法中要返回tableData的数量
func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int{return tableData.count }
然后我们把tableData中的数据填充到主界面的TableView中
let cell=UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "douban") let rowData:NSDictionary=self.tableData[indexPath.row] as NSDictionary cell.text=rowData["title"] as String cell.detailTextLabel.text=rowData["artist"] as NSString
接着我们在显示缩略图的时候先给一张默认的图片
cell.image=UIImage(named:"detail.jpg")
然后我们去抓取网络图片,同样,是用异步的方式。为了提高性能,我们对获取的图片做了一个缓存
var imageCache = Dictionary<String,UIImage>()
通过图片的地址来缓存UIImage
let url=rowData["picture"] as Stringlet image=self.imageCache[url] as?UIImageif !image?{let imgURL:NSURL=NSURL(string:url)let request:NSURLRequest=NSURLRequest(URL: imgURL)NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue(), completionHandler: {(response:NSURLResponse!,data:NSData!,error:NSError!)->Void invar img=UIImage(data:data)cell.image=imgself.imageCache[url]=img})}else{cell.image=image}
本节高清视频和代码下载地址
http://pan.baidu.com/s/1sjHd5qX
下一节,我们将一起学习一下播放歌曲和展示当前歌曲图片
Swift实战-豆瓣电台系列
Swift实战-豆瓣电台(一)准备
Swift实战-豆瓣电台(二)界面布局
Swift实战-豆瓣电台(三)获取网络数据
Swift实战-豆瓣电台(四)歌曲列表的展现相关推荐
- Swift实战-豆瓣电台(六)视图跳转,传参及回跳
原文:Swift实战-豆瓣电台(六)视图跳转,传参及回跳 youku观看地址:http://v.youku.com/v_show/id_XNzMxMzQ3MDcy.html 要点 在ChannelCo ...
- Swift实战-豆瓣电台(八)播放进度与时间
视频观看地址:http://www.tudou.com/programs/view/4mEtz8S72k0/?resourceId=399000367_06_02_99 这节主要内容是NSTimer, ...
- Swift实战-豆瓣电台(一)准备
原文:Swift实战-豆瓣电台(一)准备 一 准备 我们现在看看我们要做一个什么样的东西 观看地址:http://v.youku.com/v_show/id_XNzI4ODY2Mjky.html 布局 ...
- Swift实战-豆瓣电台(三)获取网络数据
原文:Swift实战-豆瓣电台(三)获取网络数据 观看地址:http://v.youku.com/v_show/id_XNzMwMzQxMzky.html 这节内容,我们先说了怎么将storyboar ...
- swift实战-豆瓣电台
http://www.swiftv.cn/secure/course/hwxktqix/learn#lesson/hwxktqix0.61494483961723740.033873706357553 ...
- [Swift A] - 实战-豆瓣电台总结
最近在学Swift,也是刚刚开始.这里对自己最近所学做个简单的总结:视频和代码都在下面 http://pan.baidu.com/s/1sjHd5qX 1.String和NSString的不同 1 S ...
- 获取豆瓣FM的数据(频道列表,歌曲列表)
通过下面的API可以获取豆瓣电台的歌曲数据,返回结果是json格式. 1,获取频道列表数据 地址:http://www.douban.com/j/app/radio/channels 返回数据如下: ...
- 豆瓣电台歌曲链接信息
偶然发现豆瓣电台的歌曲链接信息居然在flash的调试信息里打印出来了 http://douban.fm/j/mine/playlist?type=s&sid=1639350&chann ...
- 音乐播放器的实现(四)—— 歌曲列表、顺序播放、单曲循环、随机播放、自动下一曲
音乐播放器的实现(四)-- 歌曲列表.顺序播放.单曲循环.随机播放.自动下一曲 传送门:(完整工程见第五章篇尾) 音乐播放器的实现(一)-- Audio Listener和Audio Source面板 ...
最新文章
- 使用Spring 3的@value简化配置文件的读取
- 基于Flume的美团日志收集系统(二)改进和优化
- 【网络流24题】试题库问题
- 河北工程大学科信学院计算机二级,河北工程大学科信学院计算机科学与技术专业...
- SAP MIR7输入数量自动金额的设置
- 这届不敢看体检报告的年轻人还能“年轻”多久?
- three ways for reducing the level of anxiety
- 接口 类型转换 try-catch(学习笔记)
- 斯坦福大学机器学习课程资料-吴恩达老师主讲(2008版)
- 【读书笔记】练习的心态
- 《C专家编程》第二章——这不是Bug,而是语言特性
- Power BI 将商业智能数据转换为数据理解
- Flask 学习 (二) blueprint 示例
- 笔记︱精准营销解决方案以及营销组合评估
- 用 Truffle 插件自动在Etherscan上验证合约代码
- Linux命令学习笔记之 network NetworkManager
- 【毕业设计】 基于STM32的人体红外测温枪温度采集系统
- UCSC 基因组浏览器配置详解
- qq邮箱里面html的图片无法显示,QQ邮箱如何不显示图片? QQ邮箱如何不显示图片?...
- 主路由器和二级路器由设置同一局域网