ARC是否消除了对临时变量的需求?

时间:2012-07-17 04:39:36

标签: ios memory-management automatic-ref-counting

如果没有启用ARC,我们会写

NSArray *items = [[NSArray alloc] initWithObjects:
                  @"a",
                  @"b",
                  @"c",
                  @"d",
                  nil];

self.allItems = items;
[items release];

我只是想知道我们是否可以像这样使用启用ARC的快捷方式:

self.allItems = [[NSArray alloc] initWithObjects:
                  @"a",
                  @"b",
                  @"c",
                  @"d",
                  nil];

我们在使用ARC时可以消除items吗?什么是最佳做法?

3 个答案:

答案 0 :(得分:3)

是的,你展示的第二个例子在ARC下很好,可能是可取的,因为它更简洁。

答案 1 :(得分:1)

是的,如果您使用ARC,则可以删除items变量。如果您不在其他地方需要它,我建议您将其删除,并且您认为它不会使您的代码更容易理解。我肯定会在你的例子中消除它。

答案 2 :(得分:1)

第二个例子可行,现在是最好的做法。使用ARC,您不再需要调用保留或释放。