获取网络数据

  紧接着上次的工程,这次我们要从网络上获取音乐数据,并将获取到的数据呈现在做好的UI上。

  由于网络获取数据涉及到http请求,获取到的JSON数据要进行数据解析,这两步要分别用到两个第三方库:

  

  获取数据前先新建一个类,我们将使用该类控制数据的获取:

import UIKit
//该类用于控制数据的获取
class HTTPController:NSObject{
    //定义一个代理
    var delegate:HttpProtocol?
    //接收网址,回调代理的方法传回数据
    func onSearch(url:String){
        Alamofire.manager.request(Method.GET, url).responseJSON(options: NSJSONReadingOptions.MutableContainers) { (_, _, data, error) -> Void in
            self.delegate?.didRecieveResults(data!)
        }
    }
}
//定义http协议
protocol HttpProtocol {
    //定义一个方法,接收一个参数:AnyObject
    func didRecieveResults(results:AnyObject)
}

  然后再主视图中继承协议并创建该网络操作类的实例:

  

  

  并为网络操作类设置代理:

  

  实现协议中获取数据的方法:

  

  将数据呈现在table中:

  

  运行看看,歌曲已经获取并显示出来了:

    

posted on 2016-01-23 17:18  罗小夕  阅读(473)  评论(0编辑  收藏  举报

导航