小试Swift4.0 中网络请求之Alamofire

Alamofire 是一个用swift 写的HTTP 网络请求库,和OC中的AFNetworking这个网络框架是比较类似的。Alamofire是一个开源框架,点击访问Alamofire。本篇文章主要介绍Alamofire的一些基本用法。

使用环境要求

  • iOS 8.0+, macOS 10.10.0+, tvOS 9.0+ and watchOS 2.0+
  • Xcode 8.1+
  • Swift 3.0+

安装
Alamofire是基于CocoaPods包管理的,安装Alamofire,我们首先需要安装CocoaPods,在命令行输入

$ gem install cocoapods

等待CocoaPods安装完成即可,检查是否安装成功输入

$ pod —version

能看到版本信息即为安装成功,截止到目前,最新版本为1.4.0。

使用
首先在命令行进入到项目路径下面,使用命令

$ pod init

进行初始化项目,初始化完成后,在项目路径下会生成一个Podfile的文件,该文件是用来管理引入包文件的,用vim打开Podfile
打开platform 注释,引入Alamofire后,效果如下

Podfile文件引入第三方库语法,可以查看CocoaPods 官网 ,上图指定了Alamofire的版本为4.7。
然后,在项目路径下面执行

$ pod install 

即可安装我们在Podfile中指定的第三方库。
接着在需要网络请求地方导入Alamofire,

import Alamofire

我们发送一个简单的get请求

Alamofire.request(urlString).responseJSON { response in // method defaults to `.get`    debugPrint(response.request) // 返回请求URL    debugPrint(response.result) // 返回是否成功    debugPrint(response.value) // 返回请求成功数据 }

接着我们发送一个带参数的get请求

let parameters: Parameters = ["foo": "bar"]
Alamofire.request(urlString, method: .get, parameters: parameters, encoding: JSONEncoding.default)
.downloadProgress(queue: DispatchQueue.global(qos: .utility)) { progress in
   print("Progress: \(progress.fractionCompleted)")
}
.validate { request, response, data in
   // Custom evaluation closure now includes data (allows you to parse data to dig out error messages if necessary)
   return .success
}
.responseJSON { response in
   debugPrint(response)
}

这里加入了请求的编码类型,validate验证,返回数据在response.value中进行处理。
Alamofire的基本使用到这里就结束了。

更多使用方法可以参考Alamofire 4.0文档

ios开发入门 (创建一个新项目)

准备工作:
开发语言: Swift4.0
开发工具: Xcode9.2
系统:macOS High Sierra

Swift语法中比较重要的几个点(部分):
1、计算属性
2、闭包
3、拓展
4、继承

Xcode的使用:
1、创建Xcode应用:
如下图,选择Create a new Xcode project(创建一个新的Xcode项目)。这里有一点要说明,你可以创建一个playground项目来练习swift语法,或者在mac电脑上Terminal中输入swift -v也可在Terminal中练习swift。 继续阅读ios开发入门 (创建一个新项目)

PHP技巧学习之如何修改文件上传的限制

在进行PHP的开发过程中,对于文件的上传,总是会遇到“上传文件过大”的错误。本文将从应用层到PaaS层讲解如何进行修改。本文中的代码是基于PHP Yii2框架PHP-FPMNginx服务器,修改的限制为100M。对于Apache服务器相关的内容,会提及修改的方案,但具体的代码则请参考Nginx的。 继续阅读PHP技巧学习之如何修改文件上传的限制

助力开发新方式之测试驱动开发

测试驱动开发(TDD)就是在开发功能代码之前,先编写测试代码,然后只编写使测试通过的功能代码,从而以测试来驱动整个开发过程的进行。这也是极限编程的一个重要组成部分。其思想过程如下图。看起来简单,但实践起来却是不似看起来那么简单了。

TDD

  1. 根据一个feature,分解功能,先编写针对这个功能的测试,然后运行测试,结果为red。
  2. 根据测试代码的要求,编写功能代码,然后使得功能代码能够通过测试,得到green。
  3. 根据需要重构功能代码,出现red,继续改进,得到green。

继续阅读助力开发新方式之测试驱动开发

如何处理UCD在软件开发中令人纠结的那些事

不知从哪天起,软件的交互设计不和UCD搭点边似乎是羞于启齿的事。那么为什么要UCD?vonbros设计组在实践UCD过程中有哪些遭遇,又是如果处理的呢?

UCD(User Centered Design),以用户为中心的设计,是指软件交互设计时,尊重用户使用习惯,把用户体验放在首位。

继续阅读如何处理UCD在软件开发中令人纠结的那些事