Это не проблема, специфичная для Objective C или семейства устройств iPad.
Переменные должны иметь минимальную «видимость» и «продолжительность», в которой они нуждаются, и не более.
Вы должны были бы придумать несколько очень убедительных причин для того, чтобы попытаться получить глобальную переменную через наши процессы проверки кода.Их почти всегда можно заменить на что-то более подходящее.
В ответ на ваш комментарий:
Я не знаю, как переменная global / classвлияет на память.
Здесь есть хороший фрагмент над здесь , который подробно описывает, как делать переменные уровня класса.Это обычные переменные в области видимости файла C, поэтому они не видны вне файла, но вы получаете только одну для класса, а не одну для каждого объекта, который вы создаете.
В этом смысле они имеют преимущества:глобальный (минимальное хранилище и значение по-прежнему доступно для чтения) без недостатков (загрязняющих глобальное пространство имен и позволяющих коду вне класса изменять его).
И, если это не такне нужно читать вне файла, просто не предоставляйте метод initCount
.