Несмотря на то, что файл pch удобен для предварительной компиляции заголовков, я очень рекомендую, чтобы файлы импортировали то, что они используют. Это значительно упрощает понимание зависимостей и позволяет повторно использовать код, в том числе на разных платформах (iPhone и Mac).
Учитывая это, ответ таков: вам не следует импортировать UIKit.h в каждый файл. Вы должны импортировать его в каждый файл, который использует UIKit. Это должны быть ваши классы View и Controller. Классы моделей почти никогда не должны использовать UIKit. Как правило, они должны импортировать Foundation.h. Следование этому правилу облегчит перемещение ваших объектов в другие проекты, которые могут иметь другой код в файле .pch, и упростит повторное использование классов вашей модели на iPhone и Mac.
Я также обычно не рекомендую импортировать UIKit.h или Foundation.h в подклассы ваших собственных классов. Обычно я просто импортирую UIKit, AppKit или Foundation в заголовочный файл самого высокого уровня в моем коде. Например, если у меня есть подкласс UIView с именем MYAbstractView, который импортирует UIKit.h (чтобы включить определение UIView), а затем добавить подкласс MYConcreteView, я просто импортирую MYAbstractView.h.
Обратите внимание, что UIKit и AppKit уже импортируют Foundation, поэтому нет причин когда-либо импортировать оба.