专用于类型参数太少的通用类型'DataResponse'(获得1,但预期为2)

问题描述 投票:0回答:1

更新到Alamofire 4.5破坏了语法。我应该如何重新格式化我的代码才能使其正常工作?

我有:

func getAllBeacons(completionHandler: @escaping ([BeaconModel]) -> ()) {
        let URL = "https://testwebapi.knowe.net/Knowe.Beacon.WebApi/beacon/GetAllByLanguage"
        let preferredLanguage = NSLocale.preferredLanguages[0]
        print(UIDevice.current.modelName)
        AF.request(URL, method: .post, parameters: ["SearchValue": preferredLanguage, "IosModelName": UIDevice.current.modelName]).responseArray { (response: DataResponse<[BeaconModel]>) in
            let beaconArray = response.result.value
            completionHandler(beaconArray!)
        }
    }

我所拥有的:

func getAllBeacons(completionHandler: @escaping ([BeaconModel]) -> ()) {
        let URL = "https://testwebapi.knowe.net/Knowe.Beacon.WebApi/beacon/GetAllByLanguage"
        let preferredLanguage = NSLocale.preferredLanguages[0]
        print(UIDevice.current.modelName)
        Alamofire.request(URL, method: .post, parameters: ["SearchValue": preferredLanguage, "IosModelName": UIDevice.current.modelName]).responseArray { (response: DataResponse<[BeaconModel]>) in
            let beaconArray = response.result.value
            completionHandler(beaconArray!)
        }
    }

奇怪的是,当我在模拟器上运行此代码时,但在我的物理iPhone上却无法运行。后者给我一个错误:模块“ Alamofire”没有名为“ request”的成员。

该项目已分配给我,我不知道使用了哪个版本的Alamofire和Alamofireobjectmapper。最好的情况是将其降级到以前的版本,但是我不知道哪些版本将与以前的语法兼容。

我正在使用Xcode 11.3.1和Swift

  pod 'Alamofire', '~> 4.5'
  pod 'AlamofireObjectMapper', '~> 5.0'
  pod 'NVActivityIndicatorView'
  pod 'SQLite.swift', '~> 0.11.4'

更新到Alamofire 4.5破坏了语法。我应该如何重新格式化我的代码以使其起作用?我所拥有的:func getAllBeacons(completionHandler:@escaping([BeaconModel])->()){...

swift xcode cocoapods alamofire alamofire-request
1个回答
0
投票

Alamofire 5.0版本和AF.request没有帮助吗?

© www.soinside.com 2019 - 2024. All rights reserved.