Yes you should. viewDidUnload is not called when the view controller is freed.
Since viewDidLoad is called when the view controller is opened, people sometimes mistakenly assume that its inverse (viewDidUnload) is called when the screen closes. This is not the case, viewDidUnload is used only in low memory situations.
This is why we need to unregister for dealloc notifications.
source share