В Objective-C, как вы объявляете / используете глобальную переменную? - PullRequest
4 голосов
/ 24 февраля 2011

Я давно исследую эту проблему и, похоже, не могу найти ответ на этот вопрос. Я довольно новичок в программировании iPhone, поэтому извините, если это глупый вопрос. Если у кого-то есть конкретный код для публикации, показывающий, как это можно сделать, это будет очень полезно.

Ответы [ 3 ]

9 голосов
/ 24 февраля 2011

Objective-C является надмножеством C, поэтому просто сделайте это C-способом:

int globalX = 100;

И заголовочный файл:

extern int globalX;
2 голосов
/ 24 февраля 2011

Вы делаете это точно так же, как в C. Вот простой пример:

int myGlobal = 3;
1 голос
/ 15 июля 2012

Надеюсь, что это более четкий ответ.В моем случае я хочу создать глобальный класс, но:

Я НЕ ХОЧУ:

[GlobalResource shareInstance].bgrMenuFileName;

Я ХОЧУ:

R.bgrMenuFileName

Делать что-то подобное!В файле GlobalResource.h:

@class GlobalResource;

extern GlobalResource * R;

@interface GlobalResource: NSObject
+ (void) loadGlobalResources;
@end

В файле GlobalResource.m:

// you must redeclare R 
GlobalResource *R;
// then init it

@implementation GlobalResouce
+ (void) loadGlobalResources
{
     R = [[GlobalResource alloc] init];
}
- (id)init
{
     self = [super init];
     if (self) {
          // your init
     }
     return self;
}
@end

Затем вызовите loadGlobalResources при загрузке приложения:

[GlobalResource loadGlobalResources];

и импортируйтев Prefix.pch для использования R в любом месте вашего проекта.

#import "GlobalResource.h"

Используйте его:

CCSprite *s = [CCSprite spriteWithFile:R.bgrMenuFileName];
//...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...