目录
三、教程开始(本片文章只介绍如何使用易客运API请求天气数据,演示项目仅一个获取天气功能)
3.1 注册登陆天气API后台(新用户会有2000个测试豆)
3.2.2 输入自己的项目名称等信息,这里使用的是Storyboard界面
3.2.3 创建HttpSender,新建Swift文件。本次提供POST请求。
3.2.5 在Main.storyboard文件添加组件。可以如下图所示,具体可以按照自己需求添加即可。
一、天气API官网
免费天气API接口|天气预报接口|全球天气API接口|气象预警|空气质量
二、开发工具Xcode
三、教程开始(本片文章只介绍如何使用易客运API请求天气数据,演示项目仅一个获取天气功能)
3.1 注册登陆天气API后台(新用户会有2000个测试豆)
通过获取appid以及appsecret 进行API数据请求
选择自己想要的数据接口,应该都可以获取,具体自己测试,我这边使用的是(专业七日天气接口v93)
3.2 在Xcode中新建项目
3.2.1 选择APP
3.2.2 输入自己的项目名称等信息,这里使用的是Storyboard界面
3.2.3 创建HttpSender,新建Swift文件。本次提供POST请求。
//
// HttpSender.swift
// Weather
//
// Created by Qingchen on 2022/5/3.
//
import Foundation
class HttpSender {
//JSON 解析器
private static let decoder = JSONDecoder()
//http-post请求
/**
T : 范型
urlString : 请求url地址
params:传递参数
callback :回掉
*/
public static func post<T: Decodable>(_ type: T.Type, _ urlString: String, _ params: [String:String], _ callback: @escaping (T?) -> Void) {
//传递参数
var query = ""
for (key, value) in params {
query += "\(key)=\(value)&"
}
query.removeLast()
//调用post请求
post(type, urlString, query, callback)
}
public static func post<T: Decodable>(_ type: T.Type, _ urlString: String, _ params: String, _ callback: @escaping (T?) -> Void) {
// Prepare URL
let url = URL(string: urlString)
guard let requestUrl = url else { fatalError() }
// Prepare URL Request Object
var request = URLRequest(url: requestUrl)
request.httpMethod = "POST"
// HTTP Request Parameters which will be sent in HTTP Request Body
// Set HTTP Request Body
request.httpBody = params.data(using: String.Encoding.utf8);
// Perform HTTP Request
let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
// Check for Error
if let error = error {
print("Error took place