通過(guò)Alamofire獲取數(shù)據(jù)--老鎮(zhèn)豆瓣電臺(tái)學(xué)習(xí)總結(jié)

由于老鎮(zhèn)的課程是2015年4月份的了,現(xiàn)在最新版Alamofire獲取JSON數(shù)據(jù)的方法已經(jīng)改變.我在http://stackoverflow.com 上找到了類似問(wèn)題的解決方法,如果有朋友在學(xué)習(xí)中遇到這個(gè)問(wèn)題的可以參考我這里寫(xiě)的代碼.
  老鎮(zhèn)的代碼:

import UIKit

class HTTPController:NSObject {
    //定義一個(gè)代理
    var delegate:HttpProtocol?
    //接受網(wǎng)址,回調(diào)代理的方法,傳回?cái)?shù)據(jù)
    func onSearch(url:String) {
        Alamofire.manager.request(Method.GET, url).responseJSON(options: NSJSONReadingOptions.MutableContainers) { (_,_,data,error) -> Void in
                self.delegate?.didRecieveResults(data!)
        }
    }
}


//定義HTTP協(xié)議
protocol HttpProtocol {
    //定義一個(gè)方法,接受一個(gè)參數(shù):AnyObject
    func didRecieveResults(results:AnyObject)
}

我的代碼:

import UIKit
import Alamofire

class HTTPController:NSObject {
    //定義一個(gè)代理
    var delegate:HttpProtocol?
    //接受網(wǎng)址,回調(diào)代理的方法,傳回?cái)?shù)據(jù)
    func onSearch(url:String) {
        Alamofire.request(Method.GET, url).responseJSON(options: NSJSONReadingOptions.MutableContainers) { (data) -> Void in
            if let DATA = data.result.value {
                self.delegate?.didRecieveResults(DATA)
            } else {
                print("DATA獲取失敗")
            }
            
        }
    }
}


//定義HTTP協(xié)議
protocol HttpProtocol {
    //定義一個(gè)方法,接受一個(gè)參數(shù):AnyObject
    func didRecieveResults(results:AnyObject)
}

注意:
1.此處要import Alamofire導(dǎo)入Alamofire.
2.新版的Alamofire去掉了.manager,我們直接用Alamofire.request(Method.GET, url)進(jìn)行數(shù)據(jù)請(qǐng)求即可
3.responseJSON后面的閉包現(xiàn)在只需要一個(gè)參數(shù)
4.獲取data數(shù)據(jù)后要對(duì)其進(jìn)行AnyObject類型的轉(zhuǎn)換,所以用到了if let函數(shù)

不知道是不是Alamofire的問(wèn)題,我們的很多頻道里只有一首歌.有的朋友說(shuō)用AFNetworing庫(kù)可以解決這個(gè)問(wèn)題,我還沒(méi)有嘗試.希望有了解決頻道列表只有一首歌的朋友可以留言分享一下解決方案.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容