任何人都可以告訴我爲什麼下面的代碼泄漏?儀器告訴我有關2次泄漏。的2行那顯然導致泄漏是:儀器泄漏告訴初始化對象時的內存泄漏
Person *pers = [[Person alloc] init];
和
NSMutableDictionary *dict = [[NSMutableDictionary alloc] initWithContentsOfFile:path];
整個列表如下:
PersonViewController *personenDatenController = [[PersonViewController alloc]
initWithStyle:UITableViewStyleGrouped];
personenDatenController.view.backgroundColor = [UIColor clearColor];
Person *pers = [[Person alloc] init];
NSString *path = [[self class] pathForDocumentWithName:@"Person.plist"];
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:path];
if (!fileExists) {
NSLog(@"file does not exist yet");
NSString *content = @"";
NSData *fileContents = [content dataUsingEncoding:NSUTF8StringEncoding];
[[NSFileManager defaultManager] createFileAtPath:path
contents:fileContents
attributes:nil];
}
NSMutableDictionary *dict = [[NSMutableDictionary alloc]
initWithContentsOfFile:path];
[pers setVorName:[dict valueForKey:@"vorName"]];
[pers setNachName:[dict valueForKey:@"nachName"]];
[pers setStrassenName:[dict valueForKey:@"strassenName"]];
[pers setHausNummer:[dict valueForKey:@"hausNummer"]];
[pers setPlz:[dict valueForKey:@"plz"]];
[pers setStadt:[dict valueForKey:@"stadt"]];
[pers setHandyNummer:(NSInteger*)[dict valueForKey:@"handyNummer"]];
[pers setEmail:[dict valueForKey:@"email"]];
[pers setSteuerSatz:[[dict valueForKey:@"steuerSatz"] floatValue]];
[dict release];
[personenDatenController setPerson:pers];
[navigationController pushViewController:personenDatenController animated:YES];
[personenDatenController release];
[pers release];
變量 「路徑」 來源於以下靜態方法:
+ (NSString *)pathForDocumentWithName:(NSString *)documentName
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *tempPath = [documentsDirectory stringByAppendingPathComponent:documentName];
return tempPath;
}
謝謝我ñ先進的你的幫助!
親切的問候
菲爾
看起來不錯。也許讓靜態分析器看看它。請記住,只要personenDataController可見,人物對象*就應該在周圍 - 如果您的快照計時不準,可能會錯誤地將其報告爲泄漏。最後,也許這個PersonViewController泄漏這些對象。 – Eiko 2010-08-18 11:52:22