私はコードをちょっと整理していますが、メモリリークが発生しているかどうかわからない関数でいくつかの行が見つかりました。 私は何か考えていただければ幸いです。"コピー"属性を持つNSURLプロパティ。それは漏れていますか?
ありがとうございます!
次のコードでは、変数filepathはNSURLで、ファイル名はプロパティとして定義されたNSStringオブジェクトです。定義属性は "copy"に設定されています。ここで コードです:
-(BOOL)isEqual:(id)object
{
if (self == object)
return YES;
if (!object || ![object isKindOfClass:[self class]])
return NO;
if (![[[self filepath] path] isEqual:[[object filepath] path]])
return NO;
if (![[self filename] isEqualToString:[object filename]])
return NO;
if (![[self filesize] isEqualToString:[object filesize]])
return NO;
if (![[[self filepath ] absoluteURL] isEqual:[[object filepath] absoluteURL]])
return NO;
if (!([[[self filepath ] absoluteURL ] isFileURL ] && [[[object filepath] absoluteURL ] isFileURL ]))
return NO;
return YES;
}
私の理解から、コピー属性を持つプロパティが1の保持カウントを持つオブジェクトを返します。これは、if文ごとにメモリリークが発生することを意味します。 これが正しいですか?
興味深い!だから、(readonly、copy)の設定はまったく役に立たないのですよね?私はもちろんdeallocメソッドでオブジェクトを解放します。ご回答有難うございます! – guitarflow
@guitarflow Leaksモジュールを使用してInstrumentsからアプリケーションを実行しましたか? – trudyscousin
私はそれを行うことができることを知っています。私のアプリケーションにはもう一度実行可能な作業が必要です;-)私はここで尋ねるのが最も簡単な方法でしょう。しかし、ヒントのおかげで! – guitarflow