次のコードでメモリリークが発生しています。インストゥルメント自体がクラッシュする前に、メモリリークの87.5%を得ました。たぶんあなたの誰かが私にこのコードの何が間違っているか教えてくれるかもしれません。私はここに何かをリリースする必要がありますか?ありがとう。なぜならそれは私が私のMANAGED_OBJECTsをコピーするmutableCopyを使用しなかったメソッド間で渡されたコアデータmanagedObjectを割り当てるときにメモリリークが発生する
+0xc7 calll DYLD-STUB$$objc_msgSend = 87.5%
:ここ
- (void)browseSSviewControllerDidFinish:(browseSSviewController *)controller {
<SNIP>
MANAGED_OBJECT_1 = [self newFormatFromFormat:MANAGED_OBJECT_2];
<SNIP>
}
- (Format *)newFormatFromFormat:(Format *)formatToCopy {
NSLog(@"making new format that's a copy");
Format *thisNewFormat = [self newBlankFormat];
[self updateFormat:thisNewFormat withNumbersFromFormat:formatToCopy];
return thisNewFormat;
}
-(void)updateFormat:(Format *)formatToCopyTo withNumbersFromFormat:(Format *)formatToCopyFrom {
NSLog(@"copying formats");
formatToCopyTo.x = formatToCopyFrom.x;
formatToCopyTo.y = formatToCopyFrom.y;
formatToCopyTo.z = formatToCopyFrom.z;
formatToCopyTo.a = formatToCopyFrom.a;
formatToCopyTo.n = formatToCopyFrom.n;
formatToCopyTo.u = formatToCopyFrom.u;
formatToCopyTo.s = formatToCopyFrom.s;
}
- (Format *)newBlankFormat {
NSLog(@"making new blank format");
gfghfAppDelegate *del = (gfghfAppDelegate *)[UIApplication sharedApplication].delegate;
NSManagedObjectContext *MOC = del.managedObjectContext;
NSPersistentStoreCoordinator *PSC = [MOC persistentStoreCoordinator];
NSManagedObjectModel *MOM = [PSC managedObjectModel];
NSEntityDescription *entity = [[MOM entitiesByName] objectForKey:@"Format"];
Format *thisNewFormat = [[NSManagedObject alloc] initWithEntity:entity insertIntoManagedObjectContext:MOC];
thisNewFormat.slot = [NSNumber numberWithInt:-1];
NSLog(@"slot = %@",thisNewFormat.slot);
return thisNewFormat;
}
は楽器がクラッシュする前に、私は私のバックトレースから抜け出すことができた漏れの87.5%ですちょうどうまくいかなかった。
PS:ここ
は、リークを修正したと思われる改正は「thisNewFormat newBlankFormat」の新バージョンでは、ビューコントローラオブジェクト。 – CommaToast