我刚刚在我的应用中实施了游戏中心支持,就像在此处How To Make A Simple Multiplayer Game with Game Center Tutorial: Part 1/2所述。
它被实现为单身人士。在我的app delegate中:
// At the end of applicationDidFinishLaunching, right before
// the last line that calls runWithScene:
[[GCHelper sharedInstance] authenticateLocalUser];
对方法和属性的一点概述:
@interface GCHelper : NSObject {
BOOL gameCenterAvailable;
BOOL userAuthenticated;
}
@property (assign, readonly) BOOL gameCenterAvailable;
+ (GCHelper *)sharedInstance;
- (void) authenticateLocalUser;
@end
由于现在我的app委托中引用了GCHelper,我想知道如果游戏中心可用,如何在其他类(我提交分数)中进行实际测试。
如何在另一个类中获取GCHelper的单例实例?
答案 0 :(得分:1)
看看我如何在另一个类中获得singleton类的实例:
// DataClass.h
@interface DataClass : NSObject {
int i;
}
@property(nonatomic,assign)int i;
+(DataClass*)getInstance;
@end
// DataClass.m
@implementation DataClass
@synthesize i;
static DataClass *instance =nil;
+(DataClass *)getInstance
{
@synchronized(self)
{
if(instance==nil)
{
instance= [DataClass new];
}
}
return instance;
}
现在在视图控制器中,您需要将此方法称为:
DataClass *obj=[DataClass getInstance];
obj.i= // whatever you want;
每个视图控制器都可以访问此变量。您只需要创建一个Data类的实例。