I'm writing iOS Objective-C code. I prefer
__weak MyClass *myWeakIVar;
to, e.g.
MyClass *myWeakIvar; // weak
Not only does it read better to me, but if I ever use this code on a garbage-collected platform, I get the benefits of the __weak directive. Are there any downsides to this? Put another way, is it presently equivalent to a noop on iOS?