2017-11-15 3 views
5
private func makeRequest<T where T:MappableNetwork>(method method: Alamofire.Method, url: String, 
         parameters: [String: AnyObject]?, keyPath: String, handler: NetworkHandler<T>.handlerArray) -> Request { 

    let headers = [ 
     "Authorization": "", 
     ] 

    return Alamofire 
     .request(method, url, parameters: parameters, encoding: .URL, headers: headers) 
     .validate() 
     .responseArray(keyPath: keyPath) { (response: Alamofire.Response<[T], NSError>) in 
      if let error = response.result.error { 
       if let data = response.data { 
        let error = self.getError(data) 
        if error != nil { 
         handler(.Error(error: error!)) 
         return 
        } 
       } 
       handler(.Error(error: error)) 
      } else if let objects = response.result.value { 
       handler(.Success(data: objects)) 
      } 
    } 
} 

コードスウィフト2.xを3.xに変換しましたが、エラーが発生しました。タイプ式が文脈なしにあいまいです。Swift 3.0:式の種類は文脈がなくてもあいまいですか?

enter image description here

+0

ハンドラは何を取得する予定ですか?あなたはピリオド(。)で始まり、その場合に自動的に決定することはできません。ピリオドの前には何が必要ですか? – Yitzchak

+0

私はあなたの意見を持っています。それを試してみましょう。おかげで@ Yitzchak –

+0

それは働いた?回答を投稿できますか?欠けていたものを正確に共有しますか? – Yitzchak

答えて

1

あなたが言及したエラーは、コンパイラは、あなたが入力した値の正確な型を判断できないことを示しています。

あなたは期間を開始しましたが、期間の前にあるものがあります。コンパイラがあなたの助けなしに理解できることがあります。これはそうではなく、いくつかのオプションがあるのであいまいであり、あなたが意味するクラス名を正確に伝えるように求められます。

正確なクラス名がない場合は、他の人に役立つでしょう。

関連する問題