Con AFNetworking
Ho seguito lo schema di suggerimento per creare una sottoclasse specifica dell'applicazione di AFHTTPSessionManager
. Il mio si presentava così:Alamofire equivalente di AFHTTPSessionManager
static NSString* Username = @"";
static NSString* Password = @"";
static NSString* BaseURL = @"https://abc.xyz.com:12345/";
@implementation HttpConnection
+ (HttpConnection*) current {
static HttpConnection* current = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
current = [[self alloc] initWithBaseURL: [NSURL URLWithString: BaseURL]];
current.securityPolicy.allowInvalidCertificates = YES;
current.responseSerializer = [AFJSONResponseSerializer serializer];
current.requestSerializer = [AFJSONRequestSerializer serializer];
});
[current.requestSerializer setAuthorizationHeaderFieldWithUsername: Username password: Password];
return current;
}
Sono curioso come dovrei tradurre questo modello da usare con Alamofire
. È solo qualcosa come il seguente?
static let BaseURL = "https://abc.xyz.com:12345/"
static var User = ""
static var Password = ""
func myAppRequest((method: Method, URLString: URLStringConvertible, parameters: [String: AnyObject]? = nil, encoding: ParameterEncoding = .URL) -> Request {
let request = Alamofire.request(method, BaseURL + URLString, parameters, encoding)
request.authenticate(user: User, password: "Password)
return request
}
Sbirciare nel codice Alamofire
, ho la sensazione che potrebbe essere possibile manipolare Alamofire.Manager.sharedInstance
al momento opportuno (baseURL all'avvio dell'app, e utente/password ogni volta che quelli del cambiamento). Ma è meno ovvio come si procede (se è possibile).
Mi piacerebbe che quando ci fosse un voto negativo, almeno ci si capiva perché. –