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

简介: 原文:Swift实战-豆瓣电台(一)准备  一 准备 我们现在看看我们要做一个什么样的东西   观看地址:http://v.youku.com/v_show/id_XNzI4ODY2Mjky.html 布局   通过上面这张图我们可以看出整个demo有两个视图,视图一用来播放音乐,视图二用来选择频道。
原文: Swift实战-豆瓣电台(一)准备

 

一 准备

我们现在看看我们要做一个什么样的东西

 

观看地址:http://v.youku.com/v_show/id_XNzI4ODY2Mjky.html

布局

 

通过上面这张图我们可以看出整个demo有两个视图,视图一用来播放音乐,视图二用来选择频道。

视图一

ImageView用来显示音乐的图片

TableView用来显示音乐列表

Progress用来显示播放进度

Label用来显示播放时间

Button用来切换视图

 

视图二

Lbale显示“选择频道”

Tableview用来显示频道列表

 

知识要点

组件:

ImageView

TableView

TableViewCell

Progress

Label

Button

MediaPlayer

 

知识点:

视图之间的跳转,传参,回跳

协议

异步获取数据

Json解析

动画效果

豆瓣API

频道列表

http://www.douban.com/j/app/radio/channels

歌曲列表

http://douban.fm/j/mine/playlist?channel=0

 

频道列表的json数据参考

{
    "channels": [
        {
            "name_en": "Personal Radio",
            "seq_id": 0,
            "abbr_en": "My",
            "name": "私人兆赫",
            "channel_id": 0
        },
        {
            "name": "华语",
            "seq_id": 0,
            "abbr_en": "",
            "channel_id": "1",
            "name_en": ""
        }
    ]
}

 

 

歌曲列表的json数据参考

{
    "r": 0,
    "is_show_quick_start": 0,
    "song": [
        {
            "album": "/subject/7153475/",
            "picture": "http://img3.douban.com/lpic/s7022222.jpg",
            "ssid": "cd19",
            "artist": "Herman's Hermits",
            "url": "http://mr3.douban.com/201406201304/a687b5d793bb3233e243f05a3e502b20/view/song/small/p2087018.mp3",
            "company": "Warner",
            "title": "Smile Please",
            "rating_avg": 0,
            "length": 165,
            "subtype": "",
            "public_time": "2004",
            "songlists_count": 0,
            "sid": "2087018",
            "aid": "7153475",
            "sha256": "5f6ba79e1463c1b54d0be17d090d4ee09d55121a91905ddd2217b0ba458ca7a2",
            "kbps": "64",
            "albumtitle": "The Best of",
            "like": "0"
        },
        {
            "album": "/subject/1947603/",
            "picture": "http://img3.douban.com/lpic/s4458282.jpg",
            "ssid": "b80e",
            "artist": "Pompeii",
            "url": "http://mr3.douban.com/201406201304/f8ea9c7ba0793030c8c486152d51527e/view/song/small/p2087210.mp3",
            "company": "Warner",
            "title": "Ten Hundred Lights",
            "rating_avg": 3.81894,
            "length": 255,
            "subtype": "",
            "public_time": "2006",
            "songlists_count": 0,
            "sid": "2087210",
            "aid": "1947603",
            "sha256": "761fb793fd0571663c469a10bf9fc3bf0e2e3b329ecc5dddad8a2d28fd7ac0c7",
            "kbps": "64",
            "albumtitle": "Assembly",
            "like": "0"
        }
    ]
}

 

 

在下一节,我们将一起分享一下怎么在storyboard中进行布局操作。

目录
相关文章
|
8月前
|
JSON API 数据处理
【Swift开发专栏】Swift中的RESTful API集成实战
【4月更文挑战第30天】本文探讨了在Swift中集成RESTful API的方法,涉及RESTful API的基础概念,如HTTP方法和设计原则,以及Swift的网络请求技术,如`URLSession`、`Alamofire`和`SwiftyJSON`。此外,还强调了数据处理、错误管理和异步操作的重要性。通过合理利用这些工具和策略,开发者能实现高效、稳定的API集成,提升应用性能和用户体验。
156 0
|
8月前
|
人工智能 物联网 API
LLM 大模型学习必知必会系列(十三):基于SWIFT的VLLM推理加速与部署实战
LLM 大模型学习必知必会系列(十三):基于SWIFT的VLLM推理加速与部署实战
LLM 大模型学习必知必会系列(十三):基于SWIFT的VLLM推理加速与部署实战
|
8月前
|
存储 API Swift
【Swift开发专栏】Swift函数与闭包的实战应用
【4月更文挑战第30天】本文介绍了 Swift 中函数和闭包的实战应用。首先,函数的基本使用包括定义、参数与返回值、函数类型以及高级技巧如嵌套函数。接着,讨论了闭包的语法,包括无名函数、作为函数参数、简写形式和尾随闭包。最后,展示了函数和闭包在实战中的应用,如排序过滤集合和处理异步任务的回调。
59 0
|
机器学习/深度学习 人工智能 文字识别
《MNN For Swift》移动端机器学习实战课程发布!
5期系列课程教学,最新实践分享!
941 0
《MNN For Swift》移动端机器学习实战课程发布!
|
iOS开发 Swift API
写在新书《Swift开发手册:技巧与实战》出版之际
1月份的时候新书出版了,正值研究生毕业之际,想写点什么又无法抵抗毕业浮躁的心态,所以推到了正式入职之后。
1091 0
|
JSON API 数据格式
swift实战小程序1天气预报
       在有一定swift基础的情况下,让我们来做一些小程序练练手,今天来试试做一个简单地天气预报。
944 0
|
JSON Swift 数据格式
Swift实战-豆瓣电台(二)界面布局
原文:Swift实战-豆瓣电台(二)界面布局   观看地址 http://v.youku.com/v_show/id_XNzMwMDg4NzAw.html   这节的内容主要是storyboard的操作。
852 0
|
iOS开发 Swift C++
Swift开发笔记1.《Swift开发指南》计算器实战项目的相关心得
        本人是个IOS开发新手,之前没有接触过Objective-C语言,直接从最新的Swift学起,进行IOS8的学习开发。
1014 0
|
6月前
|
Unix 调度 Swift
苹果iOS新手开发之Swift 中获取时间戳有哪些方式?
在Swift中获取时间戳有四种常见方式:1) 使用`Date`对象获取秒级或毫秒级时间戳;2) 通过`CFAbsoluteTimeGetCurrent`获取Core Foundation的秒数,需转换为Unix时间戳;3) 使用`DispatchTime.now()`获取纳秒级精度的调度时间点;4) `ProcessInfo`提供设备启动后的秒数,不表示绝对时间。不同方法适用于不同的精度和场景需求。
192 3
|
2月前
|
安全 Swift iOS开发
Swift 与 UIKit 在 iOS 应用界面开发中的关键技术和实践方法
本文深入探讨了 Swift 与 UIKit 在 iOS 应用界面开发中的关键技术和实践方法。Swift 以其简洁、高效和类型安全的特点,结合 UIKit 丰富的组件和功能,为开发者提供了强大的工具。文章从 Swift 的语法优势、类型安全、编程模型以及与 UIKit 的集成,到 UIKit 的主要组件和功能,再到构建界面的实践技巧和实际案例分析,全面介绍了如何利用这些技术创建高质量的用户界面。
34 2