7、swift4+Alamofire的简单使用

2024-02-22 00:08
文章标签 简单 使用 alamofire swift4

本文主要是介绍7、swift4+Alamofire的简单使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、首先导入Alamofire包,导入方法请看“Xcode导入第三方库(Alamofire)的方法”:

https://blog.csdn.net/sunxiaoju/article/details/80836327

2、搭建一个web服务,具体方法请看nodejs的搭建方法“”:https://blog.csdn.net/sunxiaoju/article/details/80849538

3、服务搭建好之后根据需要写相应的代码,如在第2中的服务中需要加一些代码,加了:response.send({"username":"sssssss","type":0});同时将http以及以下的先注释掉,代码如下:


4、在XCode中打开工程写请求代码,如下代码是通过按钮触发请求(clickBtn函数):


import UIKit
import Alamofire
class ViewController: UIViewController {var btn:UIButton!var btn1:UIButton!var btn2:UIButton!var btn3:UIButton!var btn4:UIButton!override func viewDidLoad() {super.viewDidLoad()btn=UIButton(type:UIButtonType.contactAdd)//前面带“+”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果btn.frame=CGRect(x:10,y:50,width:100,height:30)btn.setTitle("普通状态", for: UIControlState.normal)//普通状态下的文字btn.setTitle("触摸状态", for: UIControlState.highlighted)//触摸状态下的文字btn.setTitle("禁用状态", for: UIControlState.disabled)//禁用状态下的文字btn.setTitleColor(UIColor.brown, for: UIControlState.normal)//普通状态下的颜色btn.setTitleColor(UIColor.cyan, for: UIControlState.highlighted)//触摸状态下的颜色btn.setTitleColor(UIColor.gray, for: UIControlState.disabled)//禁用状态下的颜色btn.titleLabel?.font = UIFont.systemFont(ofSize: 10)//按钮文字的字体和大小设置btn.setTitleShadowColor(UIColor.green, for:UIControlState.normal) //普通状态下文字阴影的颜色btn.setTitleShadowColor(UIColor.yellow, for:UIControlState.highlighted) //普通状态下文字阴影的颜色btn.setTitleShadowColor(UIColor.gray, for:UIControlState.disabled) //普通状态下文字阴影的颜色btn.backgroundColor = UIColor.black//按钮背景颜色设置//btn.setImage(UIImage(named:"ico"),for:UIControlState.normal)  //设置图标btn.setImage(UIImage(named:"add-1"),for:UIControlState.normal)  //设置图标btn.adjustsImageWhenHighlighted=false //使触摸模式下按钮也不会变暗(半透明)btn.adjustsImageWhenDisabled=false //使禁用模式下按钮也不会变暗(半透明)self.view.addSubview(btn)btn1=UIButton(type:UIButtonType.system)//前面不带图标,默认文字颜色为蓝色,有触摸时的高亮效果btn1.frame=CGRect(x:130,y:50,width:100,height:30)btn1.setTitle("普通状态", for: UIControlState.normal)//普通状态下的文字btn1.setTitle("触摸状态", for: UIControlState.highlighted)//触摸状态下的文字btn1.setTitle("禁用状态", for: UIControlState.disabled)//禁用状态下的文字btn1.setTitleColor(UIColor.brown, for: UIControlState.normal)//普通状态下的颜色btn1.setTitleColor(UIColor.cyan, for: UIControlState.highlighted)//触摸状态下的颜色btn1.titleLabel?.font = UIFont.systemFont(ofSize: 20)//按钮文字的字体和大小设置btn1.setTitleColor(UIColor.gray, for: UIControlState.disabled)//禁用状态下的颜色btn1.setTitleShadowColor(UIColor.green, for:UIControlState.normal) //普通状态下文字阴影的颜色btn1.setTitleShadowColor(UIColor.yellow, for:UIControlState.highlighted) //普通状态下文字阴影的颜色btn1.setTitleShadowColor(UIColor.gray, for:UIControlState.disabled) //普通状态下文字阴影的颜色btn1.backgroundColor = UIColor.lightGray//按钮背景颜色设置btn1.setImage(UIImage(named:"get-info-blue-button"),for:UIControlState.normal)  //设置图标btn1.adjustsImageWhenHighlighted=false //使触摸模式下按钮也不会变暗(半透明)btn1.adjustsImageWhenDisabled=false //使禁用模式下按钮也不会变暗(半透明)btn1.setBackgroundImage(UIImage(named:"2-0btn_34"), for:UIControlState.normal)btn1.addTarget(self, action: #selector(clickBtn(_:)), for: UIControlEvents.touchDown)/*事件方式touchDown:单点触摸按下事件,点触屏幕touchDownRepeat:多点触摸按下事件,点触计数大于1,按下第2、3或第4根手指的时候touchDragInside:触摸在控件内拖动时touchDragOutside:触摸在控件外拖动时touchDragEnter:触摸从控件之外拖动到内部时touchDragExit:触摸从控件内部拖动到外部时touchUpInside:在控件之内触摸并抬起事件touchUpOutside:在控件之外触摸抬起事件touchCancel:触摸取消事件,即一次触摸因为放上太多手指而被取消,或者电话打断*/self.view.addSubview(btn1)btn2=UIButton(type:UIButtonType.custom)//定制按钮,前面不带图标,默认文字颜色为白色,无触摸时的高亮效果btn2.frame=CGRect(x:250,y:50,width:150,height:30)btn2.setTitle("普通状态", for: UIControlState.normal)//普通状态下的文字btn2.setTitle("触摸状态", for: UIControlState.highlighted)//触摸状态下的文字btn2.setTitle("禁用状态", for: UIControlState.disabled)//禁用状态下的文字btn2.setTitleColor(UIColor.brown, for: UIControlState.normal)//普通状态下的颜色btn2.setTitleColor(UIColor.cyan, for: UIControlState.highlighted)//触摸状态下的颜色btn2.titleLabel?.font = UIFont.systemFont(ofSize: 30)//按钮文字的字体和大小设置btn2.setTitleColor(UIColor.gray, for: UIControlState.disabled)//禁用状态下的颜色btn2.setTitleShadowColor(UIColor.green, for:UIControlState.normal) //普通状态下文字阴影的颜色btn2.setTitleShadowColor(UIColor.yellow, for:UIControlState.highlighted) //普通状态下文字阴影的颜色btn2.setTitleShadowColor(UIColor.gray, for:UIControlState.disabled) //普通状态下文字阴影的颜色btn2.backgroundColor = UIColor.cyan//按钮背景颜色设置btn2.setImage(UIImage(named:"get-info-purple-button"),for:UIControlState.normal)  //设置图标btn2.adjustsImageWhenHighlighted=false //使触摸模式下按钮也不会变暗(半透明)btn2.adjustsImageWhenDisabled=false //使禁用模式下按钮也不会变暗(半透明)self.view.addSubview(btn2)// Do any additional setup after loading the view, typically from a nib.}override func didReceiveMemoryWarning() {super.didReceiveMemoryWarning()// Dispose of any resources that can be recreated.}@objc func clickBtn(_ sender:UIButton){let parameters: Dictionary = ["username" : "sxj"]Alamofire.request("http://127.0.0.1:8888/ISAPI", method: HTTPMethod.get, parameters: parameters).responseJSON { (response) inswitch response.result {case .success:print("SUCCESS")print(response.result.value)case .failure:print("ERROR")}}}}

5、如下图所示,当点击中间的按钮时就会被触发clickBtn事件,如下图所示:


6、触发此事件后就会向http://127.0.0.1:8888/ISAPI发送带参数的GET请求,参数为:["username" : "sxj"]此时web服务就会收到请求通过console.log(request.query);把收到的参数值在终端打印出来,如下图所示:


7、此时web服务就会通过:response.send({"username":"sssssss","type":0});将{"username":"sssssss","type":0}发送到客户端,此时服务端就会收到返回数据通过:response.result来判断是success成功还是failure失败,当成功之后就会调用print(response.result.value)打印出来,如下图所示:


8、现在是路子走通了,下面就可以发挥想象来实现自己的app了


这篇关于7、swift4+Alamofire的简单使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/733524

相关文章

如何使用celery进行异步处理和定时任务(django)

《如何使用celery进行异步处理和定时任务(django)》文章介绍了Celery的基本概念、安装方法、如何使用Celery进行异步任务处理以及如何设置定时任务,通过Celery,可以在Web应用中... 目录一、celery的作用二、安装celery三、使用celery 异步执行任务四、使用celery

使用Python绘制蛇年春节祝福艺术图

《使用Python绘制蛇年春节祝福艺术图》:本文主要介绍如何使用Python的Matplotlib库绘制一幅富有创意的“蛇年有福”艺术图,这幅图结合了数字,蛇形,花朵等装饰,需要的可以参考下... 目录1. 绘图的基本概念2. 准备工作3. 实现代码解析3.1 设置绘图画布3.2 绘制数字“2025”3.3

Jsoncpp的安装与使用方式

《Jsoncpp的安装与使用方式》JsonCpp是一个用于解析和生成JSON数据的C++库,它支持解析JSON文件或字符串到C++对象,以及将C++对象序列化回JSON格式,安装JsonCpp可以通过... 目录安装jsoncppJsoncpp的使用Value类构造函数检测保存的数据类型提取数据对json数

python使用watchdog实现文件资源监控

《python使用watchdog实现文件资源监控》watchdog支持跨平台文件资源监控,可以检测指定文件夹下文件及文件夹变动,下面我们来看看Python如何使用watchdog实现文件资源监控吧... python文件监控库watchdogs简介随着Python在各种应用领域中的广泛使用,其生态环境也

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

springboot整合 xxl-job及使用步骤

《springboot整合xxl-job及使用步骤》XXL-JOB是一个分布式任务调度平台,用于解决分布式系统中的任务调度和管理问题,文章详细介绍了XXL-JOB的架构,包括调度中心、执行器和Web... 目录一、xxl-job是什么二、使用步骤1. 下载并运行管理端代码2. 访问管理页面,确认是否启动成功

使用Nginx来共享文件的详细教程

《使用Nginx来共享文件的详细教程》有时我们想共享电脑上的某些文件,一个比较方便的做法是,开一个HTTP服务,指向文件所在的目录,这次我们用nginx来实现这个需求,本文将通过代码示例一步步教你使用... 在本教程中,我们将向您展示如何使用开源 Web 服务器 Nginx 设置文件共享服务器步骤 0 —

Java中switch-case结构的使用方法举例详解

《Java中switch-case结构的使用方法举例详解》:本文主要介绍Java中switch-case结构使用的相关资料,switch-case结构是Java中处理多个分支条件的一种有效方式,它... 目录前言一、switch-case结构的基本语法二、使用示例三、注意事项四、总结前言对于Java初学者

Golang使用minio替代文件系统的实战教程

《Golang使用minio替代文件系统的实战教程》本文讨论项目开发中直接文件系统的限制或不足,接着介绍Minio对象存储的优势,同时给出Golang的实际示例代码,包括初始化客户端、读取minio对... 目录文件系统 vs Minio文件系统不足:对象存储:miniogolang连接Minio配置Min