使用array或alloc init初始化NSMutableArray

时间:2014-02-11 18:38:37

标签: objective-c initialization nsmutablearray

我是Obejtive C的新手,所以我当时正在查看很多示例代码,我注意到人们以不同的方式初始化他们的NSMutableArray。

NSMutableArray *items = [NSMutableArray array];

NSMutableArray *items = [[NSMutableArray alloc] init];

在这两行中你最终得到一个NSMutableArray对象 它们之间有什么区别,或者它们完全相同?

1 个答案:

答案 0 :(得分:6)

这些之间的主要区别在于您是否使用ARC(自动参考计数)。第一个返回一个保留和自动释放的对象。第二个返回仅保留的对象。因此,在第一种情况下,如果您希望将其保留的时间超过当前运行循环,则需要保留它。在第二种情况下,如果您不想保留它,您可能希望释放或自动发布它。

现在我们有了ARC,这改变了一些事情。基本上,在ARC代码中,使用哪一个并不重要。