开源网络库Alamofire的安装及简单使用

方式一、使用CocoaPods添加Alamofire依赖

1. 安装CocoaPods(一种第三方依赖管理工具)

  • 网址:COCOAPODS
  • 打开电脑上的终端(Terminal)
  • 终端输入COCOAPODS官网提供的安装命令:sudo gem install cocoapods (如下图所示)
    在这里插入图片描述
  • 终端工具上会要求输入电脑密码,然后等待安装(如果有VPN的话,可能会更快,安装完成后类似下图)
    在这里插入图片描述

2. 在项目中安装Alamofire

  • 终端工具中使用命令语句定位到自己的项目文件夹下
cd+空格+路径
或者
cd+空格,然后打开访达,将自己的项目直接拖到终端中

在这里插入图片描述

  • 终端工具上输入命令pod,出现如下所示的一堆代码就说明CocoaPods已经成功安装了
    在这里插入图片描述

  • 终端工具上输入命令pod init,用于生成Podfile文件
    (可以输入ls查看是否有Podfile文件,也可以直接打开访达查看)
    在这里插入图片描述

  • 终端工具上输入命令vi Podfile或者vim Podfile,打开Podfile文件,然后对其修改(对终端各种命令不熟悉可以直接在访达中双击打开这个文件)
    在这里插入图片描述

  • 修改Podfile文件来添加自己想要的依赖(前面有#的都是被注释的)

  1. 修改platform信息(我这里的14.0就是我项目中iOS的版本信息)
# platform :ios, '9.0'
➡️
platform :ios, '14.0'

在这里插入图片描述
2. 添加Alamofire依赖

pod 'Alamofire', '~> 5.4'

这里的依赖语句是从Alamofire项目的官网获取的
网址:Alamofire
在这里插入图片描述

Podfile中没用的注释可以都删去,最后修改后的Podfile文件内容类似下图
在这里插入图片描述

  • 终端工具中输入命令pod install,安装Podfile文件中自己添加的依赖(Alamofile),安装成功后类似下图
    在这里插入图片描述
  • 使用ls或者直接在访达查看自己的项目中新增的文件
    在这里插入图片描述
  • 双击后缀xcworkspace的文件打开项目(否则会报错

方式二、使用Xcode自带的Swift Package Manager(SPM)添加依赖

自从Xcode11开始,Apple开发了自己的包管理工具并内置在Xcode中,随着Xcode版本的迭代,这一自带工具正逐步完善强大。

  • 打开Swift Package Manager(SPM)
    在这里插入图片描述

  • 点击上图中的➕,出现类似下图的弹窗(随着Xcode版本的更新,该弹窗内容会有所变化)
    在这里插入图片描述

  • 在上图中右上角的搜索框中输入下图中红框里的链接

  • 在自己要添加的git项目中找到类似下图的部分
    在这里插入图片描述

  • 点击Add Package


简单的使用Alamofire

  • 准备一个数据结构
struct PostList: Codable {
    var list: [Post]
}

struct Post: Codable,Identifiable {
    let id: Int
    let avatar: String
    let vip: Bool
    let name: String
    let date: String
    var isFollowed: Bool
    
    let text: String
    let images: [String]
    
    var commentCount: Int
    var likeCount: Int
    var isLiked: Bool
    
}
  • 发起网络请求
import SwiftUI
import Alamofire//使用Alamofire就必须导入

struct ContentView: View {
    @State private var text = ""
    
    var body: some View {
        VStack(content: {
            Text(text)
                .font(.title)
            Button(action: {
                self.loadData()
            }, label: {
                Text("Load")
            })
            .padding(.bottom, 10)
            
            Button(action: {
                self.text = ""
            }, label: {
                Text("Clear")
            })
        })
    }
    func loadData() {
        //准备一个url
        let url = "https://github.com/xiaoyouxinqing/PostDemo/raw/master/PostDemo/Resources/PostListData_hot_1.json"
        //使用Alamofile发起请求
        AF.request(url).responseData(completionHandler: {response in
            //response.result为枚举类型,所以需要使用switch
            switch response.result {
            //使用let,后面就能使用临时变量
            case let .success(data):
                guard let postList = try? JSONDecoder().decode(PostList.self, from: data) else {
                    updateText("Can not decode data.")
                    return
                }
                updateText("the data's count: \(postList.list.count)")
                break
            case let .failure(error):
                updateText(error.localizedDescription)
                break
            }
        })
    }
    func updateText(_ text: String) {
        self.text = text
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

我的学习视频连接:BBCo - iOS开发入门教程 网络请求 Lesson 12 - 1 CocoaPods Alamofire

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值