2016-10-19 1 views
-2

にSWIFT 2.3 alamofireクラスを変換し、私は新しいSWIFT 3.0に変換しようとすると、私はエラーを取得しています。これを設定する手助けができたら大いに感謝します。コードが<strong>SWIFT 2.3</strong>で書かれたこの<strong></strong> alamofireクラスでは、迅速3.0

ここでは、メソッドのサンプルを示します。迅速な3不要のため

struct Singleton { 
static let instance : APIManager = APIManager() 
} 

public class APIManager: NSObject { 
public class var sharedInstance: Manager { 
return Singleton.instance 
} 

let manager = APIManager() 

override init() { 

} 

//MARK:====Login====`enter code here` 

//MARK: methods 

func login(username: String, password: String, completion: @escaping (_ user: user, _ success: Bool) ->(), failed:@escaping (_ error: NSError) ->()) -> Request { 
let urlRequest = "http://fladsrihvyg3ufjld.cvshowcase.com/ios/mobile/signup"// Create a URLRequest and pass to the method 

return manager.request(urlRequest) 

    .validate() 
    .responseJSON { response in 
    if let error = response.result.error { 
     failed(error: error) 
     print(error) 
     return; 
    } 
    let ok = ((response.result.value as! JSONDictionary)["success"] as? Bool)! 
    let userJson = JSON((response.result.value as! JSONDictionary)["user"]!) 

    let token = ((response.result.value as! JSONDictionary)["token"] as? String)! 
    NSUserDefaults.standardUserDefaults().setValue(token, forKey: UserDefaultKey.Token) 
    NSUserDefaults.standardUserDefaults().synchronize() 
    let user = User(json: userJson) 
    completion(user: user,success: ok) 
    } 
    } 
} 
+1

でリクエストを作りますか?どこ? AlamofireをSwift 3もサポートしているバージョンにアップデートしましたか? – Larme

+0

私はプラットフォームを追加しました:ios、'10 .0 'とポッド' Alamofire '、'〜4.0 '。エラーはポッドitseemsとは何の関係もありません。エラーは次の領域でポップアップします。 1)パブリッククラスのvar sharedInstance:宣言されていない型 'マネージャ' が//使用マネージャー 2)リターンmanager.request(URLRequestの)//値APIManagerは、私はプラットフォームを追加しました何memeber '要求' – danutha

答えて

1

を使用して、新しいAlamofireポッドは、スウィフト3にSWIFT 2.3から全体のコードを変更しても、バージョン1.1.0にcocoapodsのvarsionを更新する必要があります。

source 'https://github.com/CocoaPods/Specs.git' 
platform :ios, '10.0' 
use_frameworks! 

target '<Your Target Name>' do 
    pod 'Alamofire', '~> 4.0' 
end 

そして、どのようなエラー新Alamofire 4.0

let parameters = ["action":"login", "email":"\(txtEmail.text!)" ,"password":"\(txPassword.text!)", "deviceType":"2", "devicetoken":"\(Session.gettingDeviceToken()!)"] 

      Alamofire.request("\(CT.webAPI.localAPI.rawValue)", method: .post, parameters: parameters).validate().responseJSON { response in 
       print("Response JSON: \(response.result.value)") 
       //-------------------- 
       switch response.result { 
       case .success: 
        self.successGetData(response: response.result.value! as AnyObject) 
       case .failure(let error): 
        self.failedGetData() 
        print(error) 
       } 
      } 
+0

を持っていない:IOS、'10 .0 'とポッド' Alamofire '、'〜4.0 'の両方があります。エラーはポッドitseemsとは何の関係もありません。エラーは次の領域でポップアップします。 1)public class var sharedInstance:マネージャー//宣言されていないタイプの 'Manager'を使用する2)return manager.request(urlRequest)//値APIManagerにメンバーがいません – danutha

+0

OKメソッドに変更が加えられましたそれはバグではありません。 –

関連する問題