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 String
let image=self.imageCache[url] as?UIImage
if !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 in
var img=UIImage(data:data)
cell.image=img
self.imageCache[url]=img
})
}else{
cell.image=image
}
本节高清视频和代码下载地址
http://pan.baidu.com/s/1sjHd5qX
下一节,我们将一起学习一下播放歌曲和展示当前歌曲图片
Swift实战-豆瓣电台系列
Swift实战-豆瓣电台(一)准备
Swift实战-豆瓣电台(二)界面布局
Swift实战-豆瓣电台(三)获取网络数据
Swift实战-豆瓣电台(四)歌曲列表的展现的更多相关文章
- Swift实战-豆瓣电台(九)简单手势控制暂停播放(全文完)
Swift实战-豆瓣电台(九)简单手势控制暂停播放 全屏清晰观看地址:http://www.tudou.com/programs/view/tANnovvxR8U/ 这节我们主要讲UITapGestu ...
- Swift实战-豆瓣电台(八)播放进度与时间
视频观看地址:http://www.tudou.com/programs/view/4mEtz8S72k0/?resourceId=399000367_06_02_99 这节主要内容是NSTimer, ...
- Swift实战-豆瓣电台(七)显示动画
youku观看地址http://v.youku.com/v_show/id_XNzMxODQzNDIw.html 这是一个很酷的动画效果.特别是数据多的时候 知识点 在单元格(Cell)显示方法中设置 ...
- Swift实战-豆瓣电台(六)视图跳转,传参及回跳
youku观看地址:http://v.youku.com/v_show/id_XNzMxMzQ3MDcy.html 要点 在ChannelController里面声明一个代理 这个代理遵循我们自定义的 ...
- Swift实战-豆瓣电台(五)播放音乐
观看地址 http://v.youku.com/v_show/id_XNzMwODM0MzI0.html 在这节里面,我们简单学习了一下MediaPlayer的使用 引入媒体框架 import Med ...
- Swift实战-豆瓣电台(三)获取网络数据
观看地址:http://v.youku.com/v_show/id_XNzMwMzQxMzky.html 这节内容,我们先说了怎么将storyboard中的组件在类中进行绑定.然后写了一个类用来获取网 ...
- Swift实战-豆瓣电台(一)准备
一 准备 我们现在看看我们要做一个什么样的东西 观看地址:http://v.youku.com/v_show/id_XNzI4ODY2Mjky.html 布局 通过上面这张图我们可以看出整个demo有 ...
- Swift实战-豆瓣电台(二)界面布局
观看地址 http://v.youku.com/v_show/id_XNzMwMDg4NzAw.html 这节的内容主要是storyboard的操作. 有以下几个知识点 1 TableView的Dat ...
- [Swift A] - 实战-豆瓣电台总结
最近在学Swift,也是刚刚开始.这里对自己最近所学做个简单的总结:视频和代码都在下面 http://pan.baidu.com/s/1sjHd5qX 1.String和NSString的不同 Swi ...
随机推荐
- mysql从只有一个备份文件(多个数据库的备份)中恢复数据到指定数据库
mysql -uroot -p 要恢复的数据库的名字 --one-database<备份文件
- hiho48 : 欧拉路·一
时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho最近在玩一个解密类的游戏,他们需要控制角色在一片原始丛林里面探险,收集道具,并找到最后的宝藏.现在他们控制的 ...
- spring mvc配置文件dispatcher-servlet.xml详解
Spring的配置文档<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="ht ...
- 如何去掉delphi2010的欢迎界面(welcome page)
如何去掉delphi2010的欢迎界面(welcome page)方法一: 在电脑开始菜单下,找到delphi的快捷菜单,点击该菜单的属性,在“目标”的内容中,最后添加“-np”即可.如:D:\Win ...
- java CyclicBarrier
import java.io.IOException; import java.util.Random; import java.util.concurrent.BrokenBarrierExcept ...
- 取消svn关联
把下面这段文字保存成一个reg文件 Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\sh ...
- CSS优先级别计算
a.b.c.d,可以以这四种等级为依据确定CSS选择器的优先级: a-----style 行内样式 个数 +1000 b-----id 个数+100 c-----类 个数+10 d-----类型个数 ...
- Objdump-查看汇编指令
作用 Objdump可以用来看汇编指令 查看汇编指令 测试文件 编译指令 gcc -g -o objtest 1.8.c objdump -S objtest |more /main 查看结果
- The All-purpose Zero---hdu5773(LIS变形)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5773 题意: 给出n个数,其中 0 可当作任何数,求能够得到的最长上升子序列(严格上升)的长度; 我们 ...
- Asp.net MVC4 网站发布
1.打开你的VS2012网站项目,右键点击项目-->发布: 2.弹出网站发布设置面板,点击<新建..>创建新的发布配置文件: 3.输入配置文件名称:(名称随便) 3.在发布方法中选“ ...