Objective C является строгим надмножеством ANSI C, поэтому шаги, используемые для создания и использования простой глобальной переменной C, можно использовать в Objective C.
Ровно в одном файле .m за пределами какого-либо интерфейса класса, метода или области подпрограммы объявите или создайте экземпляр вашей глобальной переменной (и инициализируйте ее, если не хотите, чтобы она начиналась со значения мусора):
BOOL myGlobalFlag = NO;
Чтобы облегчить поиск этих глобальных переменных (вам может понадобиться их найти, поскольку считается, что использование глобальных переменных сопряжено с большим риском присутствия в определенных типах ошибок), поместите их в начало файла , только после любого необходимого включает. Или поместите все глобальные переменные в один центральный файл, который легко найти, например, «Делегат приложения», файл, содержащий main (), или файл, содержащий только все глобальные переменные, например, my_apps_globals.c, включенный в ваш проект.
По крайней мере в одном файле .h, принадлежащем к любому файлу класса, .m или .c, где вы хотите получить доступ к этой переменной, и вне какого-либо интерфейса класса или определения структуры, объявите эту переменную как внешне доступную:
extern BOOL myGlobalFlag;
Затем используйте переменную внутри любого метода или подпрограммы в любом месте вашего приложения, которая включает в себя любой из вышеуказанных заголовочных файлов.
-(void)dummyMethod {
if (myGlobalFlag) NSLOG(@"the Flag is set!!!");
}