天天看點

Object-C Strong and Weak

strong vs weak 

  • strong “keep this in the heap until I don’t point to it anymore” I won’t point to it anymore if I set my pointer to it to nil.Or if I myself am removed from the heap because no one strongly points to me!
  • weak “keep this as long as someone else points to it strongly” If it gets thrown out of the heap, set my pointer to it to nil automatically (if user on iOS 5 only).
  • This is not garbage collection!  It’s way better. It’s reference counting done automatically for you.
  • Finding out that you are about to leave the heap A special method, dealloc, is called on you when your instance’s memory is freed from the heap. You will rarely ever have to implement this method. It’s “too late” to do much useful here.
- (void)dealloc
{
        [[NSNotificationCenter defaultCenter] removeObserver:self]; 
}