标签: narc

您是否需要在Objective-C中释放方法参数?

如果我将参数传递给方法,是否需要在方法结束时释放参数?

iphone parameters methods objective-c narc

12
推荐指数
2
解决办法
3762
查看次数

超越NARC:何时保留,何时分配,何时复制

我终于明白我是否必须释放一个对象,以及如何在一个简单的应用程序中保持我的保留计数尽可能低(通过知道该对象是否带有一个额外的'retain'已经被调用).因此,NARC规则在这方面运作良好.

另一方面,我不能围绕是否retain(通常使用保留属性)或只是assign实例变量.那里有经验法则吗?我只知道两个:

  1. 如果我在我的类中创建了实例(例如,在init中),那么我应该保留它并在其中释放它dealloc.
  2. 代表被分配,而不是保留

但我不明白的是我是否应该保留我从另一个实例传递的东西.我知道风险是保留计数降到零并且我留下了包(或者留下了许多额外的包和内存),但是......我应该如何组织我的应用程序以便不会发生这种情况?

我看过一些相关的问题,但没什么大不了的.

我在这里的时候:那些已添加到我UIWindow或未UIView亲自保留的内容中的内容如何?如果他们的超级视图从所有超级视图中删除,"自然"保留的实例是否会被取消分配?

memory-management objective-c narc

3
推荐指数
1
解决办法
812
查看次数