У меня вопрос об использовании extern и наследования. Я кодирую приложение iOS на Objective C, используя X-Code.
У меня есть два гипотетических класса B и C, которые наследуются от класса A.
Теперь класс A импортирует класс с именем Constraints в свой заголовочный файл следующим образом: #import "Constraints.h". В заголовке ограничений .H объявляются различные значения extern NSInteger const VAR_NAME выше @interface Constraints: NSObject, но ниже импортируемых. В реализации .M внешние элементы инициализируются, например, следующим образом: NSInteger const VAR_NAME = 1. Опять же, он находится ниже импорта, но выше строки @implementation Constraints. Этот файл предназначен для хранения глобальных ограничений приложения.
Однако при этом при сборке XCode сообщает об ошибке mach-o-linker для повторяющихся символов в классах B и C для каждой и каждой переменной, объявленной как extern в файлах ограничений.
Тогда я удалил импорт ограничений класса из родительского класса A и вместо этого импортировал его непосредственно в классы B и C. Однако у меня возникла та же проблема.
Я уже несколько часов бью головой об стол, любая помощь будет принята с благодарностью.