Swift请求数据封装

原创 2016年05月31日 11:51:06
//
//  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, newsImageName: str2, 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)
        }
    }
    
}


下载地址:Demo


版权声明:本文为博主原创文章,未经博主允许不得转载。

Swift版的网络请求封装

最近开始学swift,真的是欲罢不能啊。感觉比oc写起来顺手多了。呐,今天呢,和大家分享一下swift版的网络请求库Alamofire,相当于oc里的AFNetworking,用起来不要太爽哦!!!1...
  • Three_Zhang
  • Three_Zhang
  • 2017年01月13日 09:37
  • 650

swift4的网络请求与数据解析

封装了moya,链式,类AFN式请求 SwiftHttpRequest Github地址 简书地址 Demo说明 Demo主要介绍Swift的网络部分,代码已更新到swift4 ...
  • qq_29909323
  • qq_29909323
  • 2018年01月05日 16:46
  • 108

Swift 2.0 异步网络请求从网页获取json,并转化为NSArray,遍历得到其中数据.

class func parseJSONData(data: AnyObject?) ->NSArray? {//将json转化为NSArray do{ let...
  • u014734740
  • u014734740
  • 2016年03月30日 18:42
  • 1000

Swift3.0 Alamofire网络请求的封装(get,post,upload图片上传)

import Foundation import UIKit import Alamofire import SwiftyJSONprivate let NetworkRequestShareInst...
  • C_calary
  • C_calary
  • 2016年11月17日 01:07
  • 12617

Swift-利用AFN封装网络请求

一般在一个项目中,网络请求都封装成一个单例,以确保整个项目的网络请求 session 是同一个.单例模式定义:一个类有且仅有一个实例,并且自行实例化向整个系统提供.通过cocoaPods 导入第三方框...
  • Mazy_ma
  • Mazy_ma
  • 2016年12月19日 15:16
  • 1675

Swift 网络请求数据与解析

一: Swift 网络数据请求与处理最常用第三方      又有时间出来装天才了,还是在学swift,从中又发现一些问题,这两天上网找博客看问题弄的真的心都累。博客一篇写出来,好多就直接照抄,就...
  • u013406800
  • u013406800
  • 2017年01月17日 10:57
  • 2500

swift3面向协议编程实现Alamofire封装

1、原先的实现过程我们一般使用的是Alamofire,对其单例封装 // // NetworkTools.swift // // Created by targetcloud on 2017...
  • callzjy
  • callzjy
  • 2017年03月27日 00:11
  • 2613

Swift - 原生GET&POST请求的用法

只要属于移动开发的范畴,网络请求一定是其中的重头戏,Object-C的网络请求大家都不陌生,不过感觉很熟悉的貌似也不多,因为第三方的库用起来更加方便,比如我们所熟知的AFNetworking,在Swi...
  • CodingFire
  • CodingFire
  • 2016年07月08日 16:03
  • 2823

swift开发网络篇—利用NSURLConnection GET请求和POST请求

一、GET请求和POST请求简单说明     @IBOutlet weak var userName: UITextField!     @IBOutlet weak var userPwd: U...
  • ABCD2686529828
  • ABCD2686529828
  • 2016年05月04日 21:47
  • 5654

swift http请求返回json数据并解析

1 AppDelegate.swift // // AppDelegate.swift // QQDemo // // Created by 赵超 on 14-6-21. // Copyrig...
  • whzhaochao
  • whzhaochao
  • 2014年06月22日 15:05
  • 4555
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Swift请求数据封装
举报原因:
原因补充:

(最多只允许输入30个字)