2012-03-26 96 views
-4

在我的iPad應用程序中,應用程序在某段時間後崩潰: - (void)viewDidUnload方法

我正在使用AQGridView。

這個程序是關於匹配卡的類別。

因爲我在刪除單元格。

如果我只是打開應用程序幾分鐘它不會墜毀

但如果我打的應用3至4分鐘刪除許多細胞是越來越崩潰的方法。

一些內存泄漏,我解決不了......

我有一個陣列稱爲imageMarray

我做的洗牌就可以了。

In View Did Load。

imageMArray=[NSMutableArray initWithArray:CategoryImages]; 
imageMArray=[[self shuffleOnlyArray:imageMArray] retain]; 

在shuffleOnlyArray方法

-(NSMutableArray*)shuffleOnlyArray:(NSMutableArray*)sourceArray 
{ 
    NSMutableArray *destArray1 = [[[NSMutableArray alloc] initWithCapacity: [sourceArray count]] autorelease]; 

    srandom(time(NULL)); 

    while ([sourceArray count] != 0) 
    { 
     NSUInteger index = (NSUInteger)(random() % [sourceArray count]); 
     id item = [sourceArray objectAtIndex: index]; 
     [destArray1 addObject: item]; 
     [sourceArray removeObjectAtIndex:index]; 
    } 

    [sourceArray release]; 
    sourceArray=nil; 
    return destArray1; 
} 

並在洗牌方法,我寫

imageMArray=[[self shuffleOnlyArray:imageMArray] retain]; 

我應該在哪裏寫的釋放。 因此它確實消除了內存泄漏。

+0

您是否嘗試刪除該行? – CodaFi 2012-03-26 05:27:22

+0

以前它在viewDidUnload方法中的另一個視圖控制器上崩潰,所以我評論了該方法的每一行。現在它在另一個視圖控制器中崩潰。 – 2012-03-26 05:29:40

+0

爲什麼連這個東西都設爲零?在ARC下,這是不必要的,沒有ARC,簡單的發佈消息就足夠了。 – CodaFi 2012-03-26 05:32:21

回答

2

如果您認爲問題在於引用計數,請選擇「產品>分析」以讓Xcode檢查您的所有保留和版本以及其他問題。

+0

你是對的我已經這樣做了,我的問題已解決。 – 2012-03-29 10:37:44

相關問題