Iphone NSMutableString的这种用法是内存泄漏吗?

Iphone NSMutableString的这种用法是内存泄漏吗?,iphone,cocoa,cocoa-touch,objective-c,memory-leaks,Iphone,Cocoa,Cocoa Touch,Objective C,Memory Leaks,我目前正在使用一个实例变量,它是NSURLConnection的委托类中的NSMutableString。变量负责构建从委托方法返回的数据字符串: - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 字符串“foo”有一个带有retain的属性集。它在我的类init方法中以这种方式非常直接地分配: dataString = [[NSMutableString alloc] init];

我目前正在使用一个实例变量,它是NSURLConnection的委托类中的NSMutableString。变量负责构建从委托方法返回的数据字符串:

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 
字符串“foo”有一个带有retain的属性集。它在我的类init方法中以这种方式非常直接地分配:

dataString = [[NSMutableString alloc] init];
它在类dealloc方法中发布

对于连接:didReceiveData:,我使用的变量如下:

    NSString *tmpString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    [dataString appendString:tmpString];
    [tmpString release];
这就是事情变得棘手的地方。由于我设置NSURLConnection委托的类是一个单例类(它主要处理NSURL*类型调用),因此我需要注意如何重用我的对象。因此,在我的ConnectiondFinishLoading:类中,我有以下内容:

   // cache away data currently in dataString.
[dataString release];
dataString = [[NSMutableString alloc] init];

处理我的数据串的策略会让你的眼睛流血吗?我在泄漏内存吗?我该怎么做才能更聪明呢?

您是否要问我们应用程序中的每一个都是内存泄漏

学习,你就会有你的答案了,每一次

如果怀疑有泄漏,请运行Instruments的ObjectAlloc探针,很明显你知道怎么做。还有