2011-03-23 121 views
0

我看到很多人都在分配和释放NSString。分配和释放VS.自动释放。为什么和何时?

我明白,好处是字符串正在立即释放,而不是通过autoRelease。

我的问题:

  1. 确实是有效的,我应该总是喜欢分配和释放的自动释放?
  2. 什么是更广阔的 - 立即分配和释放,然后再分配分配,使用和释放dealloc。

会明白任何解释。

感谢

SHANI

回答

1
  1. 在不要紧大多数情况下。我认为你应该使用autorelease,因为它使代码更加简单,@“string”的快捷键非常优雅。
  2. 基本的区别在于发布发布的时间点。就像我说的,在大多数情况下,它没有任何区别。如果你想更密切地控制发布时间,那么你也可以通过滚动你自己的NSAutoreleasePool池来做到这一点。
1

我不明白你如何重新使用NSString。重新使用NSMutableString实例可能会稍快一些,但您不会看到差异。关注代码的简单性和可维护性。

我认为你的问题是使用[[NSString alloc] init]或[NSString string]。只要表现不是问题,总是要用最简单的方式。这将是autoreleased版本,因为你不需要自己释放它。