2016-10-19 2 views
-2

В этом alamofire классе код был написан в стремительной 2.3 и когда я пытаюсь преобразовать его в новый стремительной 3.0 Я получаю сообщение об ошибке. Был бы очень признателен, если бы мог помочь мне настроить это.Преобразовать быстрый 2.3 alamofire класса к быстрым 3.0

Здесь вы можете найти образец метода.

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 'и pod' Alamofire ',' ~> 4.0 'both. ошибка не имеет ничего общего с pod itseems. ошибки появляются в следующих областях. 1) общественный класс вар sharedInstance: менеджер // Использование необъявленной типа 'Менеджер' 2) вернуть manager.request (URLRequest) // значение APIManager не имеет memeber 'запрос' – danutha

ответ

1

Используйте новые Alamofire стручки для быстрой 3 нет необходимости менять весь код от быстрой 2,3 до Свифта 3, а также необходимо обновить cocoapods varsion до 1.1.0 версии.

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

я сделал добавить платформа: ИОС, '10 .0 'и pod' Alamofire ',' ~> 4.0 'оба. ошибка не имеет ничего общего с pod itseems. ошибки появляются в следующих областях. 1) public class var sharedInstance: Manager // использование незаявленного типа «Менеджер» 2) return manager.request (urlRequest) // значение APIManager не имеет memeber 'request' – danutha

+0

ok получил его, что они внесли некоторые изменения в свой метод это не ошибка. –

Смежные вопросы