Причина, по которой вызывается viewDidUnload, заключается в том, что ваше представление освобождается и все ресурсы представления должны быть освобождены.
Итак, вам нужно только бесплатно просмотреть связанные предметы.
В вашем случае, похоже, вам нужно только освободить UILabels, которые, вероятно, на ваш взгляд. Если они были помечены как IBOutlets, а не в назначенных свойствах, вы бы хотели освободить используемую ими память:
self.pointLabel = nil;
self.accelerometerLabel= nil;
self.headingLabel= nil;
Это также означает, что в viewDidLoad, если вы настраиваете другие свойства, вы хотите удостовериться, что они не выделяются снова, если они уже есть, так как его можно вызвать снова, если представление выгружено, а затем снова загружено.
Причина, по которой это будет вызвано, заключается в том, что контроллер представления получил предупреждение памяти. Вы можете проверить это предупреждение о памяти в симуляторе, чтобы увидеть, как вызываются viewDidUnload и viewDidLoad.