gpt4 book ai didi

objective-c - 单例上的多个类方法以避免子类?

转载 作者:行者123 更新时间:2023-12-03 17:22:00 24 4
gpt4 key购买 nike

我对 AFNetworking 的 AFHTTPSessionManager 进行了子类化来创建我自己的 http 客户端,我编写了很多类别、实用程序方法、oauth2、重试登录等等。

我有这个方法来创建sharedSession:

+ (MTHTTPClient *)sharedSession {
static MTHTTPClient *sharedSession = nil;
static dispatch_once_t onceToken;

dispatch_once(&onceToken, ^{
NSURL *baseURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@://%@:%@", kABXMyAppProtocol, kABXMyAppHost, kABXMyAppPort]];
NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
...
});

return sharedSession;
}

一切都很好。

现在我需要创建另一个客户端,但只是使用不同的 NSURLSessionConfiguration,用于后台下载/上传。

我想保留我围绕这个 http 客户端构建的所有细节和类别。

我不确定如何继续,构建另一个类(或单例子类,有点难闻)似乎不太可行,因为我必须复制大量逻辑。

创建另一个像上面所示的实例方法可以吗?据我了解,单例的目的是只保留该类的一个实例,因此这可能是一个坏主意,或者根本不起作用。

最佳答案

是的,创建另一个单例是非常酷的。单例没有什么神奇之处,它只是您创建和重用的一个实例。你可以有一个或一千个。只要它们存储在不同的静态变量中就可以了。

关于objective-c - 单例上的多个类方法以避免子类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21620347/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com