2013-10-12 64 views
1

不正確的校驗和我得到一個錯誤IOS7:爲釋放對象

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個調用之間釋放。

你同意嗎?

在這種情況下,我應該爲我的數組創建一個強屬性屬性,而不是在每次調用時創建一個新實例?

感謝您的幫助,如果我的英語不好,請原諒我。

斯特凡

回答

1

你所得到的錯誤在於方法,但問題是其他地方。

要找到問題的根源,請在XCode中轉到Product> Scheme> Edit Scheme,然後在Diagnostics選項卡下啓用所有Malloc設置和Guard Malloc。

這樣,再次運行您的應用程序,並且XCode將停在導致問題的線路上。

Scheme definition

+0

我有這個錯誤,使民警衛隊malloc和它固定我的應用程序。我然後禁用了警衛和應用程序繼續工作正常?!奇! – Nick