swift请求数据的封装

//

// DataRequest.swift

// MyFirstSwiftDemo

//

// Created by JackRen on 16/5/30.

// Copyright © 2016年 JackRen. All rights reserved.

//





import Foundation

import Alamofire



class DataRequest: NSObject{

  //新闻信息的详情 id/name/title

  var item: [NewsCellModel] = []

  var delegate:DataRequestDelegate?



  //侧边菜单的主题列表

  var list: [SlideMenuThemeModel] = []

  var delegate1:ThemeDataRequstDelegate?

 

  func alamofireRequest(url: String){

    var model: NewsCellModel?

    Alamofire.request(.GET,url,parameters: ["foo": "bar"])

      .responseJSON { response in

        if let JSON = response.result.value {

          if let json = JSON.objectForKey("stories"){

            for var i = 0; i<json.count; i = i + 1{

              let str1 = json[i].objectForKey("id")as! Int

              //注意images格式,字符串数组

              let str2 = json[i].objectForKey("images")![0]as! String

              let str3 = json[i].objectForKey("title")as! String

//              print(str1)

//              print(str2)

//              print(str3)

              model = NewsCellModel(id: str1,newsImageName: str2,newsTitle: str3)

              self.item.append(model!)

            }



          }

          if let json = JSON.objectForKey("top_stories"){

            for var i = 0; i<json.count; i = i + 1{

              let str1 = json[i].objectForKey("id")as! Int

              //注意images格式,字符串数组

              let str2 = json[i].objectForKey("image")as! String

              let str3 = json[i].objectForKey("title")as! String

//                            print(str1)

//                            print(str2)

//                            print(str3)

              model = NewsCellModel(id: str1,newsTitle: str3)

              self.item.append(model!)

            }

           

          }

          //调用代理方法

          self.delegate?.transforValue(self.item)

        }

    }

  }

 

  //请求访问侧面菜单的主题列表数据

  func getThemesData() {

    Alamofire.request(.GET,"http://news-at.zhihu.com/api/4/themes").responseJSON {response in

      let JSON = response.result.value

      let json = JSON?.objectForKey("others")

      for var i = 0; i<json!.count; i = i + 1{

        let str1 = json![i].objectForKey("id")as! Int

        let str2 = json![i].objectForKey("name")as! String

//                                    print(str1)

//                                    print(str2)

        self.list.append(SlideMenuThemeModel(id: str1,name: str2))

      }

      self.delegate1?.transforThemeDataValue(self.list)

    }

  }

 

}

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...