If I have this code,
+ (MyCustomClass*) myCustomClass
{
return [[[MyCustomClass alloc] init] autorelease];
}
This code guarantees the returning object is autoreleased. What's the equivalent of this in ARC?
There is no equivalent in ARC, as you don't need to do it yourself. it will happen behind the scenes and you are not allowed to do it your self.
You simply use -
+ (MyCustomClass*) myCustomClass
{
return [[MyCustomClass alloc] init];
}
I suggest you to watch the ARC introduction in the 2011 WWDC as it very simple when you get it.
Look here: https://developer.apple.com/videos/wwdc/2011/
And as the guy in the movie says -
You don't have to think about it any more (almost)
When compiling with ARC, you simply write it as:
+ (MyCustomClass *)myCustomClass
{
return [[MyCustomClass alloc] init];
}
and the compiler/runtime will handle the rest for you.
来源:https://stackoverflow.com/questions/8292060/arc-equivalent-of-autorelease