3
所以我只是從xcode 4.2切換到4.3,現在我創建/使用單身的舊方法不起作用。所以我做了我的研究如何設置一個單身人士,我有這裏的代碼。XCode 4.3 Singletons
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
所以我有所有的好,但我的問題是,我無法找到任何地方如何訪問不同的視圖控制器的信息需要使用它。所以,如果有人能指出我正確的方向,那將是非常感激。
謝謝謝謝。你如何在視圖控制器上訪問它以更改/接收信息?在較舊的xcode中,它有如下簡單: GlobalLogin * global = [PlayersGlobal sharedUser]; 但現在不起作用 – nfoggia 2012-07-17 23:48:06
你需要發送正確的類'sharedUser'消息,所以它應該讀'GlobalLogin * global = [GlobalLogin sharedUser];'當然,沒有理由這個東西是UIViewController如果你不打算展示它(它們可能會非常昂貴)。 – CodaFi 2012-07-17 23:51:28
好的。感謝幫助的人 – nfoggia 2012-07-17 23:52:28