4

如果没有启用 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];

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

4

3 回答 3

3

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

于 2012-07-17T04:41:43.887 回答
1

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

于 2012-07-17T04:41:19.687 回答
1

第二个示例将起作用,并且是现在的最佳实践。使用 ARC,您不再需要调用保留或释放。

于 2012-07-17T04:41:23.597 回答