Скажите, что у вас есть класс A и определенная категория C.
Каждый из этих классов имеет свои собственные файлы .h .m.
На что влияет категория "
Что касается компиляции, то только единицы компиляции (файлы .m), которые импортируют файл C.h. Скажем: в файлах, которые импортируют этот заголовок, у вас не будет предупреждений о неопределенных селекторах (для селекторов, определенных в C.h, конечно); в других файлах вы получите такие предупреждения.
Что касается компоновки (или выполнения, что довольно близко в Objective-C), это затронет весь ваш исполняемый файл.
Действительно, даже если вы не импортируете файл Ch, скажем, в Bm, если Bm использует селектор, определенный в Ch, этот вызов будет успешным (т. Е. Реализация из вашей категории будет эффективно использована), но вы тем не менее получит предупреждение при компиляции Bm Это также будет иметь место, если B.m был скомпилирован в другое время (т.е. до создания категории).