【发布时间】:2011-11-14 23:45:57
【问题描述】:
我已经分配了一个NSString 对象。我想在应用程序的整个生命周期中偶尔附加到这个字符串
我对如何在下面的示例中正确处理内存感到困惑。谢谢。
- 我是否需要保留每次添加的字符串,还是可以添加属于自动释放池的字符串,如
stringByAppendingString:返回的那样? - 每次执行追加操作时,我是否都会泄漏先前分配给
my_string的内存?
代码:
NSString* my_string = [[NSString alloc] initWithString:@"Initial string"];
NSString* something = [NSString stringWithFormat:@"%@", @" with something"];
my_string = [[my_string stringByAppendingString:something] retain];
NSString* something_else = [NSString stringWithFormat:@"%@", @" and something_else"];
my_string = [[my_string stringByAppendingString:something_else] retain];
[my_string release];
【问题讨论】:
-
仍在自己管理内存!为什么不在 Xcode 4.2 中使用 ARC!!