-5

自動参照カウントが有効になっているにもかかわらず、メモリ リークが発生します。

私は少しデバッグを行い、アプリがこの出力を取得する問題を発見しました: *** error: can't allocate region*** set a breakpoint in malloc_error_break to debug

私はそれをこの時点まで追跡しました:

if (currentTime < 60) {
    currentTimeMin = 0;
    ct.text = [NSString stringWithFormat:@"%i:%i", currentTimeMin, currentTime];
}
if (currentTime >= 60) {
    currentTimeMin = 1;
    ct.text = [NSString stringWithFormat:@"%i:%i", currentTimeMin, currentTime -60];
}
if (currentTime >= 120) {
    currentTimeMin = 2;
    ct.text = [NSString stringWithFormat:@"%i:%i", currentTimeMin, currentTime -120];
}
if (currentTime >= 180) {
    currentTimeMin = 3;
    ct.text = [NSString stringWithFormat:@"%i:%i", currentTimeMin, currentTime -180];
}
if (currentTime >= 240) {
    currentTimeMin = 4;
    ct.text = [NSString stringWithFormat:@"%i:%i", currentTimeMin, currentTime -240];
}
if (totalTime < 60) {
    totalTimeMin = 0;
    tt.text = [NSString stringWithFormat:@"%i:%i", totalTimeMin, totalTime];
}
if (totalTime >= 60) {
    totalTimeMin = 1;
    tt.text = [NSString stringWithFormat:@"%i:%i", totalTimeMin, totalTime -60];
}
if (totalTime >= 120) {
    totalTimeMin = 2;
    tt.text = [NSString stringWithFormat:@"%i:%i", totalTimeMin, totalTime -120];
}
if (totalTime >= 180) {
    totalTimeMin = 3;
    tt.text = [NSString stringWithFormat:@"%i:%i", totalTimeMin, totalTime -180];
}
if (totalTime >= 240) {
    totalTimeMin = 4;
    tt.text = [NSString stringWithFormat:@"%i:%i", totalTimeMin, totalTime -240];
}

問題はラベル ct と tt にあると思いますが、よくわかりませんし、その理由もわかりません。1日前にUITableViewsで少し実験するまで、すべてが完全に機能していました。

よろしくお願いします!マーティン

4

2 に答える 2

3

このコードはループ内にありますか?そうである場合は、コードを自動解放プールに入れる必要があります。

while(someStuff) {
    @autoreleasepool {
        //Your code here
    }
}
于 2012-12-11T22:19:37.833 に答える
0

そのコードのビットがリークを引き起こすことはありません。あなたのエラーは他の場所にあります。ガード malloc を有効にして、objective-c のデバッグとプロファイリングについて読んでください。

于 2012-12-11T22:27:44.280 に答える