take care of delgate no-auto set to nil when pointer is destroyed by overriding dealloc