Я работал над проектом iPhone, где мы создали весь пользовательский интерфейс программно в коде. Теперь я собираюсь начать новый проект iPhone и подумать об использовании вместо этого Interface Builder, потому что он был рекомендован мне как очень полезный инструмент, создающий меньше головной боли, чем писать все в коде, и в целом намного быстрее (относительно времени разработки ).
Однако члены моей команды испытывают некоторые опасения из-за предыдущих проблем с использованием Interface Builder и возникающих утечек памяти. Поэтому они предлагают снова все встроить в код. Я не знаю, откуда возникают эти проблемы, но, возможно, кто-то с большим опытом, чем мы, может дать некоторое представление по этой теме.
Выполнение простого поиска в Google на самом деле не предоставляет никакой информации, доказывающей, что существуют какие-либо проблемы с утечками памяти, создаваемыми самим Интерфейсным Разработчиком.
Просматривая официальную документацию от Apple, я вижу только три вещи, о которых я должен позаботиться:
@property (nonatomic, retain) IBOutlet UIUserInterfaceElementClass *anOutlet;
"Затем вы должны либо синтезировать соответствующие методы доступа, либо реализовать их в соответствии с объявлением, и (в iPhone OS) освободить соответствующую переменную в dealloc."
- (void)viewDidUnload {
self.anOutlet = nil;
[super viewDidUnload];
}
Что-то, что я пропустил?