什么是使用自定义会话配置创建AFHTTPSessionManager的singletone子类的正确方法?AFHTTPSessionManager子类swift
class DefaultSessionConfiguration: NSURLSessionConfiguration {
override init() {
super.init()
self.HTTPShouldSetCookies = true
HTTPCookieStorage?.cookieAcceptPolicy = NSHTTPCookieAcceptPolicy.Always
HTTPAdditionalHeaders = [ "Content-Type": "application/json"];
}
}
let baseUrl = "https://google.com"
class HTTPManager: AFHTTPSessionManager {
static let _sharedAPIManager = HTTPManager(baseURL: NSURL(string: baseUrl)!, sessionConfiguration:DefaultSessionConfiguration())
class var sharedInstance : HTTPManager {
return _sharedAPIManager
}
override init(baseURL url: NSURL!, sessionConfiguration session:NSURLSessionConfiguration?) {
super.init(baseURL: url, sessionConfiguration: session)
self.responseSerializer = AFJSONResponseSerializer() as AFJSONResponseSerializer
self.requestSerializer = AFJSONRequestSerializer() as AFJSONRequestSerializer
}
}
在尝试使用此代码self.sessionManager = HTTPManager.sharedInstance
它总是与消息坠毁
[MyApp.DefaultSessionConfiguration setHTTPShouldSetCookies:]:无法识别 选择发送到实例0x7f99f8f31b70
但MyApp的.DefaultSessionConfiguration是NSURLSessionConfiguration的子类,通常使用这种方法。
那么,我们该如何解决这个问题呢?
顺便说一句,您不必设置Content-Type头,因为使用AFJSONRequestSerializer会为您做到这一点。 – Rob