这听起来可能很奇怪。
设想
实现 AFOauthClient
我创建了一个子类并使用我的 baseurl 创建了一个共享实例,所有这些都是
+ (GYMAFOAuthClient *)sharedClient {
static GYMAFOAuthClient *_sharedClient = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSURL *url =[NSURL URLWithString:[[NSUserDefaults standardUserDefaults] stringForKey:@"kServer_Address"]];
if (url==nil) {
[[[UIAlertView alloc]initWithTitle:@"Required" message:@"Please enter the required fields in the settings page of the application" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil]show];
}
else
{
_sharedClient = [GYMAFOAuthClient clientWithBaseURL:url clientID:kClientID secret:kClientSecret];
}
});
return _sharedClient;
}
完美运行。
但
现在我需要切换到其他服务器,并且因为我正在使用 dispatch_once 方法,所以重新初始化是一个麻烦。如何分配一个新的 url 并将我的共享实例与 baseurl 作为新的 url。
我尝试了什么:
我使用设置包的目的是在我的用户默认设置中有 url 现在只需要创建一个客户端并开始获取响应。我该如何实现它?
澄清:
更改服务器...意味着我有 5 个 VC 和一个登录 VC,并且所有服务器基本 url 都是相同的,直到用户去编辑设置页面。所以这意味着在设置编辑后用户必须启动应用程序重新登录然后获取所有服务。