从Objective-C中的方法返回对象

时间:2010-04-30 05:09:14

标签: objective-c memory-management

请澄清一下,如何处理方法中返回的对象?

下面,我从GeEmployeetData函数获取员工详细信息,其中包含autorelease,

  1. 我是否必须在Process方法中保留返回的对象?
  2. 我可以在处理功能中释放* \ temp吗?

    - (void)流程 {    员工* emp = [自我GeEmployeetData] }

    +(员工*)GeEmployeetData {

    员工* emp = [[员工分配]初始化];   //填充实体

    return [emp autorelease]; }

1 个答案:

答案 0 :(得分:4)

99%的时间如果你想保留它们,你应该保留从其他方法返回的自动释放的对象。

使用自动释放的对象,当池耗尽时,池中的对象将被发送release消息。 这就是为什么99%的时间你想要保留自动释放的对象,因为你很有可能获得retainCount超过1的对象。