создать глобальную переменную iPhone / iPad - PullRequest
0 голосов
/ 20 июля 2011

У меня есть несколько файлов перьев, и мне нужно отслеживать, сколько раз пользователь нажимает на кнопки. Внутри метода я бы, очевидно, включил что-то вроде counter++;, предполагая, что counter является переменной int. Но моя проблема в том, что я не знаю, где определить эту переменную, чтобы все мои файлы пера могли иметь к ней доступ.

Я пытался определить счетчик переменных int в файлах AppDelegate.h и .m, но у меня не было доступа к этой переменной в других файлах .m.

Или, может быть, мне нужно создать его в файле main.m.

Ответы [ 2 ]

3 голосов
/ 20 июля 2011

Я знаю два варианта:

  1. Используйте AppDelegate.Чтобы другие классы могли получить доступ к AppDelegate, вам нужно #import его.Чтобы эти классы могли обращаться к переменным и методам в AppDelegate, они должны быть объявлены в его заголовочном файле (.h).
  2. Использовать одиночный код.Классы обращаются к «общему» классу и имеют доступ к переменным и методам этого общего класса.См. http://getsetgames.com/2009/08/30/the-objective-c-singleton/ для получения дополнительной информации.
2 голосов
/ 20 июля 2011

В общем случае глобальное состояние считается плохим .

Доступ к делегату приложения прост:

MyAppDelegate* delegate = [[UIApplication sharedApplication] delegate];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...