if you tell an objective c object to removeObservers: for a key path and that key path has not been registered, it cracks the sads. like -
\'Cannot remove an observe
[someObject observationInfo] return nil if there is no observer.
[someObject observationInfo]
nil
if ([tableMessage observationInfo] == nil) { NSLog(@"add your observer"); } else { NSLog(@"remove your observer"); }