Like all of us, I strive to balance addObserver/removeObserver calls in my app to prevent crashes [..] iOS 7 has complicated this pattern. I can no longer rely on a view controller being torn down when viewWillDisappear is called. I have to expect that it might turn around, yell “just kidding,” and proceed to call viewWillAppear/viewDidAppear all over again.

uigesturerecognizer – View controller lifecycle when swiping-to-pop from UINavigationController in iOS7 – Stack Overflow