私はplistを持っており、その情報をnsmutabledictionaryで取得します。 初めてこのメソッドを呼び出すと大丈夫です。しかし、2回目、3回目などで同じことをすると、リークが発生します。コードは次のとおり同じ操作を2回行った後にリークを取得する
+(NSMutableDictionary *)obtainPlist{
if ([[NSFileManager defaultManager] fileExistsAtPath:[self dataFilePath]]) {
return [NSMutableDictionary dictionaryWithContentsOfFile:[self dataFilePath]];
}
else {
return nil;
}
}
及びIは、別のクラスからこのメソッドを呼び出す:
NSMutableDictionary *credenciales=[[NSMutableDictionary alloc ] initWithDictionary:[CredencialesFTP obtainPlist] ];
ajustesCredencialesTableViewController.nombre = [credenciales objectForKey:@"nombre"];
ajustesCredencialesTableViewController.password = [credenciales objectForKey:@"password"];
[credenciales release];
これはdataFilePathコードがある:
+(NSString *)dataFilePath{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
return [documentsDirectory stringByAppendingPathComponent:kCredenciales];
}
リーク方法obtainPlistの呼び出しであります。私はautorelease nsmutabledictionaryを試みたが、それは動作しません、任意のアイデア??ありがとう。
あなたはあなたが漏れていると思いますが、何ですか? dataFilePathのコードを記述してください。 – Eiko
インストゥルメントは私にリークを与えています。私はdataFilePathコードを追加します –