Имейте в виду, что viewDidLoad
можно вызывать несколько раз, это особенно верно в ситуациях с нехваткой памяти, когда представления могут автоматически выгружаться для экономии памяти.
В этом случае вы можете проверить, является ли ваш объектравен нулю перед его выделением или освобождает его в предупреждении памяти (в didReceiveMemoryWarning
, если self.view.superview == nil
, то все будет автоматически освобождено).
В какой-то момент вы также должны познакомиться с инструментами профилирования,или, по крайней мере, профилировщик утечек.В Xcode перейдите на Run -> Run With Performance Tool -> Leaks
.Есть некоторые проблемы с этим инструментом, с которыми вы можете столкнуться, но как только вы схватитесь, вы будете удивляться, как вы жили без него (например, если в имени вашего хоста есть специальные символы, вам нужно его переименовать).