所以我刚刚从 xcode 4.2 切换到 4.3,现在我创建/使用单例的旧方法不起作用。所以我对如何设置单例进行了研究,我在这里有这段代码。
GlobalLogin.h
@interface GlobalLogin : UIViewController
+(GlobalLogin *)sharedInstance;
@end
GlobalLogin.m
@implementation GlobalLogin
#pragma mark -
#pragma mark Singleton Methods
+ (GlobalLogin*)sharedInstance {
static GlobalLogin * sharedInstance;
if(!sharedInstance) {
static dispatch_once_t oncePredicate;
dispatch_once(&oncePredicate, ^{
sharedInstance = [[super allocWithZone:nil] init];
});
}
return sharedInstance;
}
+ (id)allocWithZone:(NSZone *)zone {
return [self sharedInstance];
}
- (id)copyWithZone:(NSZone *)zone {
return self;
}
#if (!__has_feature(objc_arc))
- (id)retain {
return self;
}
- (unsigned)retainCount {
return UINT_MAX; //denotes an object that cannot be released
}
- (void)release {
//do nothing
}
- (id)autorelease {
return self;
}
#endif
#pragma mark -
#pragma mark Custom Methods
所以我一切都好,但我的问题是我无法在任何地方找到如何在需要使用它的各种视图控制器中访问它的信息。因此,如果有人能指出我正确的方向,那将不胜感激。