我是Obejtive C的新手,所以我当时正在查看很多示例代码,我注意到人们以不同的方式初始化他们的NSMutableArray。
NSMutableArray *items = [NSMutableArray array];
或
NSMutableArray *items = [[NSMutableArray alloc] init];
在这两行中你最终得到一个NSMutableArray对象 它们之间有什么区别,或者它们完全相同?
答案 0 :(得分:6)
这些之间的主要区别在于您是否使用ARC(自动参考计数)。第一个返回一个保留和自动释放的对象。第二个返回仅保留的对象。因此,在第一种情况下,如果您希望将其保留的时间超过当前运行循环,则需要保留它。在第二种情况下,如果您不想保留它,您可能希望释放或自动发布它。
现在我们有了ARC,这改变了一些事情。基本上,在ARC代码中,使用哪一个并不重要。