1

我收到一个错误

malloc: *** error for object 0x146f9404: incorrect checksum for freed object - object was     probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug

在以下方法中:

+ (void)drawXIB_StatsDetaillees:(Statistiques*)statistiques ... {

NSArray* objects = [[NSBundle mainBundle] loadNibNamed:@"Match_Statistiques_Detaillees" owner:self options:nil];

错误来自 NSArray。

这是此方法的调用:

+ (NSString*)drawPDF:(Match*)currentMatch {

[self drawXIB_StatsDetaillees:[currentMatch statistiquesMatch] andMatch:currentMatch andTitre1:titre1 andTitre2:titre2];

这是一个通过新线程(GCD)调用的静态类,我认为我的 NSArray 在这个类的 2 次调用之间被释放。

你同意吗 ?

在这种情况下,我应该为我的数组创建一个具有强属性的属性,而不是在每次调用时创建一个新实例吗?

感谢您的帮助,如果我的英语不好,请原谅。

斯蒂芬妮

4

1 回答 1

1

您在该方法中遇到错误,但问题出在其他地方。

要找到问题的根源,在 XCode 中转到 Product > Scheme > Edit Scheme,然后在 Diagnostics 选项卡下启用所有 Malloc 设置和 Guard Malloc。

这样,再次运行您的应用程序,XCode 将停在导致问题的行。

方案定义

于 2014-03-14T23:02:38.583 回答