Владимир, конечно, прав.Добавление категории в класс делает эти функции доступными для всех экземпляров этого класса, независимо от того, является ли заголовочный файл #import
ed или нет.Objective-C - это динамический язык.
Однако - компилятор предупреждает вас, что он не может видеть объявление этих сообщений во время компиляции.Код все еще может быть действительным;именно поэтому оно вызывает предупреждение, а не ошибку.
Мне нравится импортировать категорию в класс, для которого требуются расширения, предоставляемые этой категорией.Я считаю, что это полезный способ напомнить мне о зависимости.Однако некоторые программисты считают, что поскольку категория предоставляет свои методы для всех экземпляров класса, бессмысленно добавлять ее только к одному классу.
Если вы предпочитаете не импортировать категорию в каждый класс, который ее использует, но вы хотели бы иметь чистые компиляции - #import
заголовок категории в файл pch.