0
我只是清理了一下我的代碼,並在函數中發現了幾行,我不確定它們是否產生內存泄漏。 我會很感激任何想法。具有「複製」屬性的NSURL屬性。它泄漏了嗎?
在此先感謝!
在下面的代碼中,變量filepath是NSURL和文件名,它是一個定義爲屬性的NSString對象。定義屬性設置爲「複製」。 下面的代碼:
-(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語句中都有內存泄漏。 這是正確的嗎?
有趣!所以(只讀,複製)的設置是絕對無用的,對吧?我當然會釋放相應的dealloc方法中的對象。感謝您的回答! – guitarflow 2012-03-30 16:58:13
@guitarflow您是否使用Leaks模塊通過Instruments運行應用程序? – trudyscousin 2012-03-30 17:00:21
我知道我可以做到這一點。我的應用程序需要一些進一步的工作才能再次運行;-)所以我認爲在這裏問是最簡單的選擇。但謝謝你的提示! – guitarflow 2012-03-30 17:20:00