【发布时间】:2012-01-07 16:31:54
【问题描述】:
如果我有这个代码,
+ (MyCustomClass*) myCustomClass
{
return [[[MyCustomClass alloc] init] autorelease];
}
此代码保证返回的对象是自动释放的。 这在 ARC 中相当于什么?
【问题讨论】:
标签: objective-c clang automatic-ref-counting autorelease
如果我有这个代码,
+ (MyCustomClass*) myCustomClass
{
return [[[MyCustomClass alloc] init] autorelease];
}
此代码保证返回的对象是自动释放的。 这在 ARC 中相当于什么?
【问题讨论】:
标签: objective-c clang automatic-ref-counting autorelease
ARC 中没有等价物,因为您不需要自己做。 它会在幕后发生,你不能自己做。
你只需使用 -
+ (MyCustomClass*) myCustomClass
{
return [[MyCustomClass alloc] init];
}
我建议你观看 2011 WWDC 中的 ARC 介绍,因为它非常简单。
看这里: https://developer.apple.com/videos/wwdc/2011/
正如电影中的那个人所说-
你不必再考虑它了(几乎)
【讨论】:
使用 ARC 编译时,您只需将其写为:
+ (MyCustomClass *)myCustomClass
{
return [[MyCustomClass alloc] init];
}
编译器/运行时会为你处理剩下的事情。
【讨论】: