Mit AFNetworking
folgte ich dem Vorschlag Muster zum Erstellen einer anwendungsspezifischen Unterklasse von AFHTTPSessionManager
. Mine sah wie folgt aus:Alamofire entspricht AFFHTTPSessionManager
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;
}
Ich bin gespannt, wie ich dieses Muster mit Alamofire
verwenden übersetzen sollte. Ist es nur etwas wie das Folgende?
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
}
im Code Alamofire
Spähen, habe ich eine Ahnung, dass es möglich sein kann Alamofire.Manager.sharedInstance
zu den entsprechenden Zeiten (baseURL bei app Start und Benutzer/Passwort, wenn diejenigen ändern) zu manipulieren. Aber das ist weniger offensichtlich, wie man das macht (wenn es tatsächlich möglich ist).
Ich wünschte, wenn es eine Down-Abstimmung gab, haben Sie zumindest gesagt warum. –