2017-08-02 7 views
-1

私はこのプロジェクトを移行してAlamofireを使用して3時間以内に移行しました。最後の行の2番目は、私がこのコードplzを修正するのに助けてくれる誰かがエラーを受け取っているところです。エラーが表示されるAlamofireの移行に関する問題が発生しました3

import Foundation 
import Alamofire 

struct ApiHandler { 

    enum Router: URLRequestConvertible { 
     static let baseURLString = "example.com" 
     static let accessToken = "4kjn1kjb3213jkb12k3b12kn321k00" 

     case categories(String) 
     case assets 
     case article(String) 
     case top10(String) 

     var URLRequest: NSMutableURLRequest { 
      let (path, parameters) : (String, [String: AnyObject]?) = { 
       switch self { 
       case .categories(let type): 
        let params = ["access_token": "\(Router.accessToken)", "content_type": "\(type)"] 
        return ("/entries", params as [String : AnyObject]) 
       case .assets: 
        let params = ["access_token": "\(Router.accessToken)"] 
        return ("/assets", params as [String : AnyObject]) 
       case .article(let type): 
        let params = ["access_token": "\(Router.accessToken)", "content_type": "\(type)"] 
        return ("/entries", params as [String : AnyObject]) 
       case .top10(let type): 
        let params = ["access_token": "\(Router.accessToken)", "content_type": "\(type)"] 
        return ("/entries", params as [String : AnyObject]) 
       } 
      }() 
      let URL = Foundation.URL(string: Router.baseURLString) 
      let URLRequest = NSMutableURLRequest(url: URL!.appendingPathComponent(path)) 
      let encoding = Alamofire.ParameterEncoding.URL //error here line below 
      return encoding.encode(URLRequest, parameters: parameters).0 
     } 
    } 
} 

2番目から最後の行にこのエラーが表示されます。

タイプ 'ParameterEncoding' にはメンバー 'URL'

+0

Alamofire.URLEncoding.default.encode(とリクエスト、:パラメータ)。これを置き換えて、すでに –

+0

のスタックオーバーフローで利用可能な答えを使用してください。 https://stackoverflow.com/questions/42524820/alamofire-type-parameterencoding-has-no-member-url-swift-3 –

+0

使用しているAlamofireのバージョンはどれですか?あなたのalamofireが古くなり、迅速に使用するためにアップデートが必要なようです3 –

答えて

0

変更このコードを持っていません。..

struct ApiHandler { 

enum Router: URLRequestConvertible { 
    static let baseURLString = "example.com" 
    static let accessToken = "4kjn1kjb3213jkb12k3b12kn321k00" 

    case categories(String) 
    case assets 
    case article(String) 
    case top10(String) 

    var URLRequest: NSMutableURLRequest { 
     let (path, parameters) : (String, [String: AnyObject]?) = { 
      switch self { 
      case .categories(let type): 
       let params = ["access_token": "\(Router.accessToken)", "content_type": "\(type)"] 
       return ("/entries", params as [String : AnyObject]) 
      case .assets: 
       let params = ["access_token": "\(Router.accessToken)"] 
       return ("/assets", params as [String : AnyObject]) 
      case .article(let type): 
       let params = ["access_token": "\(Router.accessToken)", "content_type": "\(type)"] 
       return ("/entries", params as [String : AnyObject]) 
      case .top10(let type): 
       let params = ["access_token": "\(Router.accessToken)", "content_type": "\(type)"] 
       return ("/entries", params as [String : AnyObject]) 
      } 
     }() 
     let URL = Foundation.URL(string: Router.baseURLString) 
     let URLRequest = NSMutableURLRequest(url: URL!.appendingPathComponent(path)) 
     return try! Alamofire.URLEncoding.default.encode(URLRequest as! URLRequestConvertible, with: parameters) as! NSMutableURLRequest 
    } 
} 
} 
+0

エラータイプ 'ApiHandler.Routerがプロトコルに準拠していません' URLRequestConvertible ' – Slygoth

+0

@Slygothこれをチェックしてくださいhttps:// stackoverflow .com/questions/42524820/alamofire-type-parameterencoding-has-no-member-url-swift-3 –

関連する問題