NSFileHandle
ソケットからデータを読み取るために使用しています。これが私が作成している方法ですfilehandle
:
filehandle = [[NSFileHandle alloc] initWithFileDescriptor:sock closeOnDealloc:YES];
私はこれをやっています:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(readData:) name:nil object:filehandle];
[filehandle readInBackgroundAndNotify];
readInBackgroundAndNotify
が1ずつ増加していることに気付きretainCount
ましfileHandle
た。したがって、filehandle
データの読み取りが完了したらこれを解放しても、メモリは解放されません。そのため、無効なデータを読み取ろうとしてアプリがクラッシュします。この問題はiOS4.3で発生していますが、iOS5では発生していないことに注意してください。をリリースする前にオブザーバーを削除していfilehandle
ます。ファイルハンドルオブジェクトを解放する前に他にすべきことはありますか?