From the Apple drain documentation:
[...] this method behaves the same as the release. [...]
Thus, the depletion of the pool of auto resources means its unjustified liberation. In my opinion, Apple should abandon drain , as this only creates confusion.
But:
Special considerations:
In a garbage collection environment, release is non-op, so if you do not want to give the collector a hint, it is important to use drain in any code that can be compiled for garbage collection.
source share