Допустим, у меня есть пользовательский фреймворк с дюжиной классов и категорий.Все они наследуют / расширяют стандартные классы какао.По этой причине мой фреймворк связывается с во время компиляции.
Мой вопрос: если я добавлю класс, который требует , каков рекомендуемый способ его упаковки?
1) Если я просто добавлю класс в платформу и импортирую QuartzCore, любой потребитель моей инфраструктуры также должен будет импортировать QuartzCore.
2) Если я переместу класс в другую платформу, любой потребитель должен импортировать обамои рамки, чтобы получить полную функциональность, а также QuartzCore.Никакие классы в первой платформе не могут использовать вторую платформу.
3) Есть ли способ сделать #ifdef #endif или что-то подобное, а затем ослабить связь каркаса QuartzCore так, чтобы классы как Cocoa, так и QuartzCore-зависимые классы находятся в единой структуре, но потребители не должны добавлять QuartzCore в свои проекты?Если QuartzCore в идеале отсутствует, класс / категория просто не будут доступны для среды выполнения.