私は公式のAppleのサンプルに従っています
Instruments でコードを調べているときに、リリースされていない NSURLRequest が原因であるリークが見つかりました。私は今、[request release]
直後に
NSURLConnection *conn=[[NSURLConnection alloc] initWithRequest:request delegate:self];
そしてそれはうまくいくようです。私は正しいですか?
よろしく
私は公式のAppleのサンプルに従っています
Instruments でコードを調べているときに、リリースされていない NSURLRequest が原因であるリークが見つかりました。私は今、[request release]
直後に
NSURLConnection *conn=[[NSURLConnection alloc] initWithRequest:request delegate:self];
そしてそれはうまくいくようです。私は正しいですか?
よろしく
リクエストは自動解放されます。つまり、自動解放プールが解放を処理する必要があります。Cocoa アプリケーション内でそれを使用している場合は、自動解放されたオブジェクトの解放を処理する自動解放プールを自動的に設定する必要があります。
ココア以外のアプリで作業している場合は、自分で設定し、オブジェクトを解放するためにプールを解放/ドレインする必要があります。
alloc
通常、 、copy
、またはで作成されたオブジェクトをリリースする必要があるのは、mutableCopy
を送信した場合だけですretain
。つまり、作成した接続オブジェクトを解放する必要があります。そうし[[NSURLConnection alloc] init...
ないと、リークが発生します。
自動解放プールに関するドキュメントへのリンクは次のとおりです。
ああ、なるほど。いくつかの理由で、「公式」サンプルと私自身の実現を混ぜ合わせました:)私のコードでは、これを行っていました:
NSURLRequest *request = [[NSURLRequest alloc] initWithURL: url];
そしてこれはもちろん解放されなければなりません。上記のサンプルは動作が異なります。昨夜はかなり遅かったようです。
しかし、あなたの答えに感謝します。
気が狂ってしまうことが 1 つあります。マーカーを設定したにもかかわらず、誰かが私の質問に回答しても、メール通知が届きません...
よろしく