我有一个带有不同ViewControllers的应用程序,它们在导航控制器中管理。在一个ViewController中,我正在向我的WebService发出请求以对用户进行身份验证。我正在BOOL(isLoggedIn)中编写响应。现在我需要在不同的ViewControllers中使用此BOOL和用户名。我需要变量来更改自定义导航按钮标题(登录 - >注销)。另外在另一个ViewController中,我要向WebService发送一些东西,但只允许一个Authenticated User(isLoggedIn)进行调用。 我希望它解释得很好:) 那么我有什么可能让这项工作成功呢?我已经阅读了创建Singleton类的内容,这是正确的方法吗?
或者我应该以某种方式从我的LoginViewController到受影响的ViewControllers建立连接? 我怎样才能做到这一点?现在我刚刚使用方法prepareForSegue来引用DetailViewController并传递数据。
答案 0 :(得分:1)
您可以制作单身实现,如:
static SingletonClass *_sharedClass = nil;
@implementation SingletonClass
@synthesize sharedVar;
+ (SingletonClass*)sharedClass
{
if (_sharedClass == nil) {
_sharedClass = [[SingletonClass alloc] init];
}
return _sharedClass;
}
- (id)init
{
if ((self = [super init])) {
//init any class vars you need
}
return self;
}
@end
然后让sharedVar成为该类的属性。从应用程序的任何位置,您都可以使用:
[[SingletonClass sharedClass] sharedVar];
访问它。