0
Я пытаюсь сделать подкласс AFHTTPSessionManager
с помощью Swift. Согласно документации, рекомендуется создать один экземпляр вашего подкласса. Я понимаю, как сделать singleton в Swift, но мне нужно иметь возможность инициализировать мой синглтон с базовым URL.Подкласс SFHTTPSessionManager Singleton с конфигурацией в Swift
class ZRUserAuthenticationHTTPSessionManager: AFHTTPSessionManager {
class var sharedManager: ZRUserAuthenticationHTTPSessionManager {
struct StaticManager {
static var instance: ZRUserAuthenticationHTTPSessionManager? = nil
static var onceToken: dispatch_once_t = 0
}
if (StaticManager.instance == nil) {
dispatch_once(&StaticManager.onceToken) {
StaticManager.instance = ZRUserAuthenticationHTTPSessionManager(baseURL: myURL)
}
}
return StaticManager.instance!
}
}
Как разрешить инициализацию экземпляра singleton с помощью настраиваемого параметра?
Thanks
Вы можете установить (и восстановить) baseURL после инициализации. –
Я не могу установить 'baseURL' после инициализации. В быстром заголовке для 'AFHTTPSessionManager':' var baseURL: NSURL! {get} ' Поскольку здесь переменная readonly, мне нужно инициализировать мой синглтон с помощью baseURL. – AnthonyM