0
このコードにはリークがありますか?このコピーコードにはリークがありますか?
// Move the group
Group *movedGroup = [[Group alloc] init];
movedGroup = [[[[GroupList sharedGroupList] groups] objectAtIndex:fromIndex] copy];
[[GroupList sharedGroupList] deleteGroup:fromIndex];
[[GroupList sharedGroupList] insertGroup:movedGroup atIndex:toIndex];
// Update the loadedGroupIndex pointer
if (loadedGroupIndex < fromIndex & loadedGroupIndex >= toIndex) {
loadedGroupIndex = loadedGroupIndex + 1;
} else if (loadedGroupIndex > fromIndex & loadedGroupIndex < toIndex) {
loadedGroupIndex = loadedGroupIndex - 1;
} else if (loadedGroupIndex == fromIndex) {
loadedGroupIndex = toIndex;
}
[movedGroup release]
です。 movedGroupは* alloced *であり、Groupオブジェクトを保持するメモリのチャンクへのポインタになったことを意味します。その後、あなたはそのオブジェクトから離れたところを指し、代わりにあなたの* copied *オブジェクトを指していました。これにより、割り当てられたGroupオブジェクトはハングアップしていました。プロジェクトをビルドして解析する*アナライザーは、最初の行で作成したオブジェクトで何も行われていないこと、およびリークが発生している可能性があることを伝えます。 –
ええ、振り返って明らかです。そしてそれは私にこれを指摘したビルドと分析でした。私はちょうど私がそれを正しく理解したことを確認したかった。入力いただきありがとうございます。 –