1
我已经创建了我自己的http客户端,我写了很多类别,实用程序方法,oauth2,重试登录和whatnot AFNetworking的AFHTTPSessionManager
。单例避免子类的多个类方法?
我有这样的方法来创建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客户端构建的所有细微和类别。
我不确定如何继续,建立另一个类(或singleton子类,有点闻)似乎不是真正可行的,由于我必须复制的逻辑数量。
创建另一个如上所示的实例方法将工作吗?我的理解是,单身人士的目的是只保留一个班级的实例,所以这可能是一个坏主意,或根本不工作。