Swift实战-豆瓣电台(三)获取网络数据
觀看地址:http://v.youku.com/v_show/id_XNzMwMzQxMzky.html
這節(jié)內(nèi)容,我們先說了怎么將storyboard中的組件在類中進(jìn)行綁定。然后寫了一個(gè)類用來獲取網(wǎng)絡(luò)數(shù)據(jù),同時(shí)定義了一個(gè)協(xié)議,在獲取數(shù)據(jù)后進(jìn)行回調(diào)。之后對(duì)json數(shù)據(jù)進(jìn)行解析,轉(zhuǎn)化為一個(gè)字典。
知識(shí)點(diǎn)
異步獲取數(shù)據(jù)
var nsUrl:NSURL=NSURL(string: url) var request:NSURLRequest=NSURLRequest(URL: nsUrl) NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue(), completionHandler: {(response: NSURLResponse!,data: NSData!,error: NSError!) -> Void)NSURL和NSURLRequest都是使用簡單卻難以簡單說明的東西。意會(huì)吧。
NSURLConnection.sendAsynchronousRequest方法中的NSOperationQueue.mainQueue()將獲取數(shù)據(jù)這個(gè)任務(wù)放進(jìn)主隊(duì)列。
completionHandler:完成任務(wù)后函數(shù)調(diào)用。
?
Json解析
var jsonResult: NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionaryNSJSONReadingOptions.MutableContainer:設(shè)置返回的對(duì)象是可以隨時(shí)添加新值的Mutable 類型的對(duì)象
?
協(xié)議
協(xié)議和其他語言中的接口類似,我們?cè)跀?shù)據(jù)獲取類中設(shè)置一個(gè)遵循該協(xié)議的成員,當(dāng)數(shù)據(jù)獲取完畢后,該成員執(zhí)行某個(gè)方法來使用數(shù)據(jù)。我們?nèi)绻挥脜f(xié)議用具體的某個(gè)類也是可以的。但就失去了靈活性。
?
高清視頻及代碼下載地址
http://pan.baidu.com/s/1sjHd5qX
?
下一節(jié)我們將一起學(xué)習(xí)一下怎么將數(shù)據(jù)賦予TableView
?
Swift實(shí)戰(zhàn)-豆瓣電臺(tái)(一)準(zhǔn)備
Swift實(shí)戰(zhàn)-豆瓣電臺(tái)(二)界面布局
總結(jié)
以上是生活随笔為你收集整理的Swift实战-豆瓣电台(三)获取网络数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 目前人工智能技术在医疗领域的应用,主要集
- 下一篇: Java岗大厂面试官常问的那些问题,真香