当我做分析 找出潜在的内存泄漏, 我得到一个"错误的 引用计数的减少 在一个物体的引用计数 在这一点上不是由调用者拥有的" :
- (int)downloadUrlTofolder:(NSString *)url filename:(NSString *)name tryTime:(int)tryTime
{
int result = 0;
GetFtpService *ftpService = [[GetFtpService alloc] initwithUrlandOutPut:url output:name];
//I have delete the code here, but problem is not solved.
[ftpService release]; //the potential problem point to this line
return result;
}
下面是“与乌兰地外溢”的方法:
- (id)initwithUrlandOutPut:(NSString *)url output:(NSString *)o
{
if(self = [super init]) {
self.urlInput = url;
self.outPath = o;
self.success = [NSString stringWithString:@"success"];
self.connected = nil;
}
return self;
}
和界面:
@interface GetFtpService : NSObject <NSStreamDelegate>
@property (nonatomic, retain) NSInputStream *networkStream;
@property (nonatomic, copy) NSString *urlInput;
@property (nonatomic, retain) NSInputStream *fileStream;
@property (nonatomic, copy) NSString *outPath;
@property int tryTime;
@property (nonatomic, copy) NSString *success;
@property (nonatomic, copy) NSString *connected;
- (id) initwithUrlandOutPut:(NSString *)url output:(NSString *)o;
我想知道为什么会发生这种事?