你需要的是一个Singleton类。我通常这样做的:
头:
#import <Foundation/Foundation.h>
@interface Configuration : NSObject {
NSString *serverPath;
NSString *configurationServicePath;
}
// Single instance
+ (Configuration *) configuration;
实施:
@implementation Configuration
@synthesize serverPath, configurationServicePath;
- (id)init {
self = [super init];
if (self) {
// init
}
return self;
}
+ (Configuration *) configuration
{
static Configuration *configuration;
@synchronized(self)
{
if (!configuration) {
configuration = [[Configuration alloc] init];
}
return configuration;
}
}
所以每次你使用你的类,你可以得到的实例(如果有已经是一个,如果不是,它只创建一次实例)用以下行:
Configuration configuration = [Configuration configuration];
您是否考虑过创建一个引用第一个CCLayer并使用它访问第二个CCLayer中的属性的单例类? – WendiKidd
你的意思是什么?“事情只是走下坡路”?如果您需要访问某个类的属性,则需要拥有该类的一个实例。您或者需要创建一个新的或者获得对已经创建的那个的引用。发布一些代码可以帮助我们帮助你。 –
这意味着我的init方法中的所有内容都可以分配两次,这就是为什么我要弄清楚这一点。 –