NSString内存泄漏问题

时间:2011-02-25 04:52:31

标签: objective-c iphone-sdk-3.0 ios4

我正在创建这样的全局字符串:

NSString *total = nil;

是否有另一种方法可以将内存分配给字符串但是将其设置为nil?

2 个答案:

答案 0 :(得分:1)

如果您想要创建全局字符串,请在类接口之外使用extern关键字。 因此,在.h文件中的@interface声明之前,请添加类似

的内容
extern NSString *total;

然后在.m文件中,在@implementation声明之前放置类似

的内容
total = @"";

否则,如果它进入某个类的某个地方,那么就是一个简单的:

NSString *total = [[NSString alloc] init];

应该足够了。

我通常只使用全局字符串作为NSNotifications的常量,其他一切通常都可以在单例实例中找到一个位置。根据您要实现的目标,您可能需要在Cocoa编程指南中查看。

答案 1 :(得分:0)

我想如果你在一个实现类中分配全局变量。我想你可以在你的AppDelegate功能中释放它 - (void)applicationWillTerminate:(UIApplication *)application {

首先检查是否已分配。并释放它

如果(总!=无){  [总释放]; }