这可能听起来很奇怪。“重新初始化”共享实例
方案
实施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方法重新初始化是trouble.How我可以指定一个新的URL,让我的共享实例用的BaseURL如新网址。
我的尝试:
我使用设置包的目的,我在我的用户的默认值现在只需要创建一个客户端,并开始获得responses.How我能实现它的网址是什么?
澄清:
更改服务器......意味着我有5 VC和一个登录VC和所有的服务器基本URL是一样的,直到用户去修改设置页面。所以以后这意味着设置编辑用户必须启动应用程序重新登录,然后获取所有服务。
初学者问题。请说明还有什么要做。我几乎完成了一切,所以一个完整的改变是有点麻烦!但是,你们能解释更多以帮助我重写吗? – 2013-03-19 14:50:31
@bbum一个怀疑。如果我尝试这种方式oauth成为我的麻烦..我设置客户端头与我从登录页面获得的令牌,因此我设计为一个共享/单身实例。如果我以另一种方式使它如何我可以管理吗? – 2013-03-19 15:14:33