iOS-swift-AFNetworking使用事例

来源:互联网 发布:php exec函数返回值 编辑:程序博客网 时间:2024/05/17 09:32

1.封装请求下载类

func requestResponseObject(wParamDict : NSDictionary?, wAction : NSString, completed : (returnObject : AnyObject?)->Void){        let requestHelper = RequestHelper()        let wMsgID : NSString = requestHelper.getTheTimestamp()        var wParam : NSString = requestHelper.getwParamFromDict(wParamDict!)!                //3DES加密        wParam = getwParamStrByReplacing(wParam)        //参数拼接方法        let wSignStr : NSString = wAgent + (wAction as String) + (wMsgID as String) + (wParam as String) + KLicenseKeys        let wSign : NSString = OCHelper.stringFromMD5(wSignStr as String)        //获取设备类型        let wModels : NSString = OCHelper.getCurrentDeviceModel()        //获取手机系统号        let wSystem : NSString = UIDevice().systemVersion        //获取手机的identifierForVendor--手机唯一标识符        let wImei : NSString = (UIDevice().identifierForVendor?.UUIDString)!        let wRequestUserID : String        if Personinfo.manager.userId != nil{            wRequestUserID = Personinfo.manager.userId as! String        }else{            wRequestUserID = ""        }        //我传的参数        let dict = ["wAgent":wAgent,"wAction":wAction,"wParam":wParam,"wMsgID":wMsgID,"wSign":wSign,"wImei":wImei,"wModels":wModels,"wSystem":wSystem,"wVersion":KAPPVersion,"wRequestUserID":wRequestUserID]                //AFNetworking 方法        let  manager = AFHTTPRequestOperationManager()                let operation = manager.POST(LOGINURL, parameters: dict, success: { (operation: AFHTTPRequestOperation!, responseObject: AnyObject!) -> Void in                        do {                //获得数据 回调                let responseData = try NSJSONSerialization.JSONObjectWithData(responseObject as! NSData, options:NSJSONReadingOptions.AllowFragments) as! NSDictionary                completed(returnObject : responseData)            } catch {                //error                completed(returnObject : nil)            }                        }) { (operation: AFHTTPRequestOperation!, error: NSError!) -> Void in                                completed(returnObject : nil)        }        operation.responseSerializer = AFHTTPResponseSerializer()        operation.start()    }

2.调用方法

//MARK:获取首页广告banner    func getHomeBanner(){        let dict : NSDictionary = NSDictionary()        self.requestEngine.requestResponseObject(dict, wAction: "905") { (returnObject) -> Void in            if ((returnObject?.isKindOfClass(NSDictionary)) != nil){                self.tableview.mj_header.endRefreshing()                let dataArr : NSArray = (returnObject?.objectForKey("Data") as? NSArray)!                let returnCode = returnObject?.objectForKey("ReturnCode")?.integerValue                if returnCode == 0{                    //获得数据                                                        }else{                    //打印错误信息                    ReturnCode.getResultFromReturnCode(returnCode!)                }                self.tableview.reloadData()            }        }    }



0 0
原创粉丝点击