Методы категории Objective-C вызывают без включения заголовка [duplicate]

Если вы находитесь на удаленной ветке (называемой feature-branch), клонированной из Золотого репозитория (golden_repo_name), то вот техника, чтобы раздавить ваши коммиты в одну:

  1. Оформить заказ золотой репо
    git checkout golden_repo_name
    
  2. Создайте из него новую ветвь (золотой репо) следующим образом
    git checkout -b dev-branch
    
  3. Сквош слияние с вашей локальной ветвью, что вы уже
    git merge --squash feature-branch
    
  4. Зафиксируйте свои изменения (это будет единственный коммит, который идет в dev-ветке)
    git commit -m "My feature complete"
    
  5. Нажмите ветвь в локальный репозиторий
    git push origin dev-branch
    
14
задан nullfox 30 September 2011 в 01:29
поделиться

1 ответ

Потому что вы включаете код в свое приложение, когда компилируете его. #import только делает текущий контекст (.h или .m) осведомленным о методах в этой категории.

Любая категория, которая скомпилирована в ваше приложение, будет загружаться все время, пока ваше приложение run.

Чтобы удалить категорию из добавленной вами цели, удалите файл категории .m из вашего файла Target->Build Phase->Compile Sources.

вашего приложения. Предполагая, что вы хотите, чтобы некоторые из ваших навигационных панелей кода, но не ВСЕ из них, лучший способ сделать это, вероятно, для подкласса UINavigationBar. (Кстати, вы хотите называть [super drawRect:rect] в вашем подклассе)

Редактировать: альтернативный метод добавления изображения в UINavigationBar,

В любом контроллере просмотра вы хотите, чтобы изображение появится, просто добавьте self.navigationItem.titleView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"header.png"]] autorelease]; в viewWillAppear:

24
ответ дан Kenny Winker 1 September 2018 в 02:02
поделиться