Имам въпрос относно използването на extern и inheritance. Кодирам приложение за 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 във файловете Constraints.
Така че това, което направих след това, беше да премахна импортирането на класа Constraints от родителския клас A и вместо това да го импортирам директно в класове B и C. Въпреки това получавам същия проблем.
Блъскам си главата в масата по този въпрос от няколко часа, всяка помощ ще бъде много оценена.