使用 Swift 3 的 Alamofire 4.0 出现“没有成员”错误

Posted

技术标签:

【中文标题】使用 Swift 3 的 Alamofire 4.0 出现“没有成员”错误【英文标题】:"has no member" error with Alamofire 4.0 with Swift 3 【发布时间】:2016-10-18 04:23:30 【问题描述】:

我在 Swift 3.0 中使用过 Alamofire 4.0,但遇到以下代码问题

类型“方法”(又名“OpaquePointer”)没有成员“GET”

类型“方法”(又名“OpaquePointer”)没有成员“PUT”

类型“方法”(又名“OpaquePointer”)没有成员“POST”

类型“方法”(又名“OpaquePointer”)没有成员“补丁”

类型“方法”(又名“OpaquePointer”)没有成员“删除”

枚举定义:

enum Method 
        case get
        case put
        case post
        case patch
        case delete

        func toAFMethod() -> Alamofire.Method 
            switch self 
            case .get:
                return Alamofire.Method.GET
            case .put:
                return Alamofire.Method.PUT
            case .post:
                return Alamofire.Method.POST
            case .patch:
                return Alamofire.Method.PATCH
            case .delete:
                return Alamofire.Method.DELETE
            
        
    

【问题讨论】:

试试Alamofire.HTTPMethod.get等——HTTPMethod和小写动词github.com/Alamofire/Alamofire#http-methods。 ...这些现在是.get.put等,小写。 【参考方案1】:

基于 Swift 3 和 Alamofire 4.0,API 发生了重大变化:

import Alamofire

enum Method 
    case get
    case put
    case post
    case patch
    case delete

    func toAFMethod() -> Alamofire.HTTPMethod 
        switch self 
        case .get:
            return Alamofire.HTTPMethod.get
        case .put:
            return Alamofire.HTTPMethod.put
        case .post:
            return Alamofire.HTTPMethod.post
        case .patch:
            return Alamofire.HTTPMethod.patch
        case .delete:
            return Alamofire.HTTPMethod.delete
        
    

Check Alamofire 4.0 Migration Guide For More Information.

希望这会对你有所帮助。

【讨论】:

以上是关于使用 Swift 3 的 Alamofire 4.0 出现“没有成员”错误的主要内容,如果未能解决你的问题,请参考以下文章

Swift 3 的 ObjectMapper 和 Alamofire 问题 Alamofire 4 的 Alamofire 版本

使用 Alamofire 4 swift 3 上传图像

如何使用参数 swift 3.0 Alamofire 4.0 调用邮政服务?

使用 Swift 3 的 Alamofire 4.0 出现“没有成员”错误

带参数的 Alamofire 4 Swift 3 GET 请求

使用逻辑的顺序请求 - Swift 3、Xcode 8、Alamofire 4