0

似乎在 Objective-C 中有一个标准约定,如果方法是allocnewcopy,则:您现在拥有新对象的所有权,因此您应该使用它来释放它[obj release](假设这不是 ARC) .

但是,如果获取新实例的方法是通过那些“方便的方法”,例如 in [NSMutableArray arrayWithCapacity:100],因为它不是alloc,newcopy,所以按照惯例,新对象在自动释放池中,您不必担心释放它?

4

2 回答 2

2

是的,如果你没有分配对象,你就不需要释放它。(当然在你的假设下)

于 2012-05-13T12:10:59.683 回答
2

是的,这是真的。这是定义规则的 Objective-C 参考(这更像是一种约定,但是如果您不遵守约定,clang 静态分析器将反对)。

于 2012-05-13T12:12:43.693 回答