原文: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实战-豆瓣电台(四)歌曲列表的展现相关推荐

  1. Swift实战-豆瓣电台(六)视图跳转,传参及回跳

    原文:Swift实战-豆瓣电台(六)视图跳转,传参及回跳 youku观看地址:http://v.youku.com/v_show/id_XNzMxMzQ3MDcy.html 要点 在ChannelCo ...

  2. Swift实战-豆瓣电台(八)播放进度与时间

    视频观看地址:http://www.tudou.com/programs/view/4mEtz8S72k0/?resourceId=399000367_06_02_99 这节主要内容是NSTimer, ...

  3. Swift实战-豆瓣电台(一)准备

    原文:Swift实战-豆瓣电台(一)准备 一 准备 我们现在看看我们要做一个什么样的东西 观看地址:http://v.youku.com/v_show/id_XNzI4ODY2Mjky.html 布局 ...

  4. Swift实战-豆瓣电台(三)获取网络数据

    原文:Swift实战-豆瓣电台(三)获取网络数据 观看地址:http://v.youku.com/v_show/id_XNzMwMzQxMzky.html 这节内容,我们先说了怎么将storyboar ...

  5. swift实战-豆瓣电台

    http://www.swiftv.cn/secure/course/hwxktqix/learn#lesson/hwxktqix0.61494483961723740.033873706357553 ...

  6. [Swift A] - 实战-豆瓣电台总结

    最近在学Swift,也是刚刚开始.这里对自己最近所学做个简单的总结:视频和代码都在下面 http://pan.baidu.com/s/1sjHd5qX 1.String和NSString的不同 1 S ...

  7. 获取豆瓣FM的数据(频道列表,歌曲列表)

    通过下面的API可以获取豆瓣电台的歌曲数据,返回结果是json格式. 1,获取频道列表数据 地址:http://www.douban.com/j/app/radio/channels 返回数据如下: ...

  8. 豆瓣电台歌曲链接信息

    偶然发现豆瓣电台的歌曲链接信息居然在flash的调试信息里打印出来了 http://douban.fm/j/mine/playlist?type=s&sid=1639350&chann ...

  9. 音乐播放器的实现(四)—— 歌曲列表、顺序播放、单曲循环、随机播放、自动下一曲

    音乐播放器的实现(四)-- 歌曲列表.顺序播放.单曲循环.随机播放.自动下一曲 传送门:(完整工程见第五章篇尾) 音乐播放器的实现(一)-- Audio Listener和Audio Source面板 ...

最新文章

  1. 使用Spring 3的@value简化配置文件的读取
  2. 基于Flume的美团日志收集系统(二)改进和优化
  3. 【网络流24题】试题库问题
  4. 河北工程大学科信学院计算机二级,河北工程大学科信学院计算机科学与技术专业...
  5. SAP MIR7输入数量自动金额的设置
  6. 这届不敢看体检报告的年轻人还能“年轻”多久?
  7. three ways for reducing the level of anxiety
  8. 接口 类型转换 try-catch(学习笔记)
  9. 斯坦福大学机器学习课程资料-吴恩达老师主讲(2008版)
  10. 【读书笔记】练习的心态
  11. 《C专家编程》第二章——这不是Bug,而是语言特性
  12. Power BI 将商业智能数据转换为数据理解
  13. Flask 学习 (二) blueprint 示例
  14. 笔记︱精准营销解决方案以及营销组合评估
  15. 用 Truffle 插件自动在Etherscan上验证合约代码
  16. Linux命令学习笔记之 network NetworkManager
  17. 【毕业设计】 基于STM32的人体红外测温枪温度采集系统
  18. UCSC 基因组浏览器配置详解
  19. qq邮箱里面html的图片无法显示,QQ邮箱如何不显示图片? QQ邮箱如何不显示图片?...
  20. 主路由器和二级路器由设置同一局域网

热门文章

  1. 原来linux自带编译器啊!!!
  2. 原创小说 - 爱人失踪(第一部)
  3. 浙江理工大学英语平台Unipus自动答题
  4. 廖雪峰python教程笔记:装饰器
  5. Python request简单使用
  6. 杰理之ANC电路设计注意事项【篇】
  7. 使用arch-anywhere来安装arch
  8. css实现圆柱的形状
  9. 如何实现业务+项目一体化管理?
  10. 关于ext2.0基本引入说明引入过多开发环境效验太多老火