保留和释放混乱?

时间:2012-03-19 22:56:16

标签: objective-c memory-management

  

可能重复:
  memory management objective c - returning objects from methods

我对保留物体感到困惑。如果我有一个函数将返回这样的对象:

- (object) functionA {

   NSObject* o = [[object alloc] init];

   return o;
}

返回的对象的保留计数为1 ....但这是最好的做法,或者我首先放置自动释放并让调用者保留对象。

1 个答案:

答案 0 :(得分:3)

在这种情况下,您将返回一个自动释放的对象。 NARC规则规定,任何不包含“new”,“alloc”,“retain”或“copy”字样的方法都应返回非拥有引用。方法functionA在其名称中不包含任何单词。