Since all answers seem wrong for myRetainCount as [self retainCount], let me suggest a reason why this code could be written: maybe this code somehow spawns threads or otherwise registers clients, and that myRetainCount is actually the number of these clients , is stored separately from the actual amount of OS residues. However, each client can also maintain their ObjC style.
Thus, this function can be called when the request is interrupted and can immediately get rid of all clients at the same time, and then complete all releases. This is not a good design, but if it works with the code (and you did not leave int myRetainCount = [self retainCount] or redefined storage / release), at least it is not necessarily a buggy.
This, however, is very likely a poor distribution of responsibilities, or kludgey and battered attempts to avoid maintaining laps without improving anything.
uliwitness
source share