Search code examples
objective-cdealloc

dealloc is being called and I am not sure why


I have a view with some buttons, text fields, and methods. When I load the view, switch to another view, and then switch back, my app crashes. I added in an NSLog in each method to see what the last method call before the crash was, and it was -(void)dealloc{

I am wondering why this method was called? Is it called every time you reload a view? I've double checked my code and I definitely do not call it anywhere.


EDIT : Found my problem, I was releasing an array that I was using to store views. Thanks to @Darren I traced my problem.


Solution

  • Dealloc is called when a class is no longer needed and removed from memory. When you have no more pointers holding onto anything in the view, then it's dealocated.

    How are you switching to/from the view?

    if you set a (strong) pointer to the view then it won't be dealocated automatically.