2012-03-26 56 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