2011-07-09 130 views
0

我的問題是,我想迭代myArray的所有項目並設置新的值。這很好,當函數第一次被調用時,但第二次在到達for循環時崩潰。任何解決方案爲什麼我的應用第二次崩潰時調用這個函數?

-(void) count { 
    for(Square *mySquare in myArray) { 
     [mySquare setX:(10 * value)]; 
     [mySquare setY:(10 * value)];  
    } 

    NSLog(...); 

    [NSTimer scheduledTimerWithTimeInterval:0.033 target:self selector:@selector(count) userInfo:nil repeats:NO]; 
} 
+0

'myArray'是否正確保留?如果你在for循環中設置一個斷點並把鼠標懸停在'myArray'上,你應該能夠看到它是否爲零。 –

+0

控制檯崩潰時是否有消息? – 2011-07-09 15:25:24

回答

5

您顯示的代碼沒有問題,所以問題必須在其他地方。我猜想這是一個內存管理問題。可能該數組是自動釋放的,所以下次調用該方法時,autorelease池已被耗盡,並且您有一個懸掛指針,導致崩潰。

相關問題