ios - 在类中声明一次 Alamofire.SessionManager 以便在类中的各种实用函数中使用它

标签 ios swift xcode alamofire

所以我正在为我的项目制作一个用于 Alamofire 网络的实用程序类。

我在里面有各种功能,比如:

func createAccount()

func login()

我想对所有这些功能的请求和响应使用固定时间限制。

我知道这同样适用于:

let configuration = URLSessionConfiguration.default
        configuration.timeoutIntervalForRequest = 10
        configuration.timeoutIntervalForResource = 10
        AFManager = Alamofire.SessionManager(configuration: configuration)

但是,我不想在所有实用程序函数中初始化 AFManager。我想要一份声明。我怎样才能做同样的事情?我无法得到它。

最佳答案

你需要的是一个property :

class NetworkManager {

    private let manager: Alamofire.SessionManager = {
        let configuration = URLSessionConfiguration.default
        configuration.timeoutIntervalForRequest = 10
        configuration.timeoutIntervalForResource = 10
        retrurn Alamofire.SessionManager(configuration: configuration)
    }()

    func createAccount() {
        manager.request(...)
        ...
    }

    func login() {
        manager.request(...)
        ...
    }

}

关于ios - 在类中声明一次 Alamofire.SessionManager 以便在类中的各种实用函数中使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52481382/

相关文章:

ios - 添加分享按钮 - Swift

Xcode:创建无需付费即可通过 MacOS 隔离区的应用程序?

ios - 设置为半透明时导航栏变为透明

iphone - 关闭从 UIWebView 打开的 UIActionSheet

ios - 如何使取消按钮上的图像持续存在,直到用户没有更改它为止。?

ios - 当我将新图像上传到服务器时,如何在 swift 中忽略或覆盖 UIImage 缓存?

ios - 来自 xib 的 cameraOverlayView

ios - 如何在 SwiftUI 中更改 .navigationBarTitle 字体?

ios - 来自导入的 unsigned char 二维数组的 Swift 字符串

ios - 在我的项目中通过 pod 安装 MobileVLCKit 时显示链接器错误