0

メモリ リークの可能性を調べるために Analyze を実行すると、「この時点で呼び出し元が所有していないオブジェクトの参照カウントのデクリメントが正しくありません」というメッセージが表示されます。

- (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;
}

以下は「initwithUrlandOutPut」メソッドです。

- (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;

なぜこれが起こったのか知りたいですか?そしてそれを修正する方法は?

4

1 に答える 1

2

「initwith...」の「w」が大文字になっていないためだと思います。そのため、アナライザーがメソッドを init メソッドとして認識していない可能性があります。

于 2012-05-26T09:17:52.437 に答える