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 observer for the key path "theKeyPath" from because it is not registered as an observer.'
is there a way to determine if an object has a registered observer, so i can do this
if (object has observer){
remove observer
}
else{
go on my merry way
}
Put a try catch around your removeObserver call
@try{
[someObject removeObserver:someObserver forKeyPath:somePath];
}@catch(id anException){
//do nothing, obviously it wasn't attached because an exception was thrown
}