Это потому, что переменная экземпляра вашего AppDelegate
, а не ваш контроллер представления.Если вы переместите объявление и инициализацию в свой контроллер представления, ошибка исчезнет.Однако не сделает ее глобальной переменной, что хорошо, если она работает для вас.
Если она не работает для вас, сделайте переменнуюдействительно глобальный: удалите объявление из делегата приложения и добавьте ключевое слово extern
, например:
extern NSMutableSet *statesTouched;
Теперь добавьте определение в файл .m, например:
NSMutableSet *statesTouched;
Убедитесь, что определение находится за пределами блока @implementation
.