Я предполагаю, что вы включаете этот заголовочный файл в несколько исходных файлов.Как показано здесь, это приведет к множеству символов, называемых _searchFlag
, по одному для каждого включения заголовка.
Обычный шаблон здесь, если вы пытаетесь объявить глобальную переменную типа BOOL
с именемsearchFlag
, к которому можно получить доступ из нескольких исходных файлов, будет означать, что он будет объявлен в заголовке с ключевым словом extern
, а затем определен в только одном исходном файле.
Заголовокfile (назовите его «Foo.h», например):
extern BOOL searchFlag;
Один исходный файл (например, «Foo.m»):
BOOL searchFlag;
Множество файлов исходного / заголовочного файлов:
#import "Foo.h";
Не имея extern
, вы технически повторно декларируете его в каждом исходном файле, в который вы добавляете / импортируете заголовок.