2009-09-06 59 views
0

由于KVC用于在iPhone上设置网点,因此有2种方法(我知道)确保您正确处理内存管理。如何处理iPhone SDK中网点的内存管理

具体来说,我指的是由Aaron Hillegass写的article

我的问题是你使用哪种方法,你的推理是什么?

  • 释放所有你在的dealloc 和viewDidUnload(请确保您设置 他们为零的viewDidUnload。)
  • 让你的店铺弱引用

个人店铺,我倾向于使用弱因为它看起来更清洁。

回答

1

我去弱引用。正如你所说它不那么混乱,并使一个已经非常冗长的代码更容易管理

+0

+1我也使用(非原子,分配)为我所有的网点。那么我不必记得去做任何事情。 – 2009-09-06 20:52:20

+0

但是正如文章所述,您必须确保在使用此技术时加载视图 - 否则在视图卸载后您可能会遇到随机崩溃访问IBOutlets。 – 2009-09-06 21:46:39

1

弱引用更容易,是的。更清晰?保留属性同样清晰,您可以更清楚地了解什么时候发布。我个人喜欢主要使用属性来暴露该类的某些属性到外部世界 - 所以对于IBOutlets只有类将操作,我只是声明它们而不使用属性并在dealloc中释放它们。

无论哪种情况,在viewDidUnload中设置为零IBOutlet引用。