NSURLConnnection オブジェクトをいつ解放するか 2011/08/06
NSURLConnection の
-[NSURLConnection initWithRequest:delegate:]
で生成した NSURLConnection オブジェクトは下記のどれで処理をすればよいのかを知りたくなった。
- プロパティに保持しておいて後でreleaseする
- autoreleaseにする
- 保持せず、後からconnectionDidFinishLoadingなどのdelegateメソッドでreleaseする
しかし今日2011/08/06 の時点で自分が NSURLConneciton でGoogle検索すると、
Geekなぺーじ : NSURLConnection (非同期) [1]
とか中途半端なページばかりが見つかり、これらを参考にするとメモリリークが発生しそうなのでメモを残してみる。
今回の場合 Mac OS X Developer Library の URL Loading System Programming Guide: Using NSURLConnection が一番参考になりそう。
これによると、
3. 保持せず、後からdelegateメソッドでreleaseする
が正しいようだ。
ただ、下記のように書くと Xcode の Analyze で Potential leak of an object allocated on line xxx and stored into ‘conn’ といわれてしまう。後で release しているので問題ないのだが、AnalyzeはそこまでAnalyzeできないようだ。
// Returns an initialized URL connection and begins to load the data for the URL request.
NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];
if(conn) {
receivedData = [[NSMutableData alloc]init];
}
自分の以前のコードは 2. autorelease にする で書かれていて、これはこれで普通に動いているけれども場合によっては問題が起きることもありそうだ。
iphone – NSURLConnection leak? – Stack Overflow
に書かれている。
NSURLConnection には、-[NSURLConnection initWithRequest:delegate:] 以外に +[NSURLConnection connectionWithRequest:delegate:] もあり、こちらを使えば release を心配する必要はない。
iphone – Memory management for NSURLConnection – Stack Overflow
しかし意図せず解放されて問題が起きることはないのかなと思ったりもする。
関連記事
-
-
「iPhoneの動作が遅くなる場合があります」に対応する
年末年始は休みがあるのでブログ更新頻度が高い。以前から気になっていた、LogLocationsを起動
-
-
初 iPadアプリ おんぷちゃん for iPad 公開
iPadグランドオープニングに間に合わせるためしばらく格闘していたがようやく おんぷちゃん for
-
-
iPhone X simulator が表示されない
dyld: dyld_sim is not compatible with the loaded p
-
-
[iOS SDK] Simulator で Save Screenshot するとクラッシュ
「libswiftFoundation.dylib プラグインの使用中に Simulator が予期
-
-
[iPhone SDK] GPX Format で位置情報を出力
今公開している Log Locations は割り切りでエクスポート機能を入れていなかったのだけれど
-
-
[iPhone開発本] iPad電子書籍アプリ開発ガイドブック
2010年8月23日発売らしい。3570円と高いけれども、内容は濃そうだ。 目次はImpress D
-
-
Withings WS-50 不具合発生
昨年12月に購入した Withings WS-50をまずまず便利に使っていたのだが、数週間前から、電
-
-
[iPhone SDK] Objective-C 2.0 のプロパティ
Objective-Cのプロパティで時々はまるので、メモ。(詳解 Objective-C 2.0 P
-
-
iPhone アプリアイコン設定
AppStore でアプリを売る一連の流れを知るために作っているアプリが大体できてきたので、ついにア
-
-
iPhoneアプリUI研究本 iPhone User Interface Design Projects
それほど期待せずに買ったのだが、これは面白かった。 和書だと、iPhoneアプリ成功の法則に近いが、