#malloc #ios5 #nsdateformatter
#malloc #ios5 #nsdateformatter
Вопрос:
Когда я недавно обновил свой iPhone до iOS 5 и обновил Xcode, в проекте, над которым я работал в течение 5 месяцев, теперь одна ошибка за другой. До этого я успешно запускал Analyze и Profile без каких-либо проблем. Теперь я исправляю одну ошибку, а другая появляется.
Хорошим примером является следующий код:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd hh:mm"];
NSString *dateStr = [formatter stringFromDate:self.chargeDate];
[formatter release];
Я использовал это сотни раз без каких-либо проблем. Теперь я получаю следующую ошибку примерно при каждом третьем запуске кода:
incorrect checksum for freed object
Что может быть причиной этой ошибки?
Комментарии:
1. Ошибка, предназначенная для включения, возникает в первой строке.
Ответ №1:
В опубликованном вами коде нет ничего особенно плохого. Тот факт, что вы получаете ошибки в первой строке выделения, показывает, что у вас повреждение кучи из-за плохого управления памятью в другом месте вашего приложения. Это будет сложно диагностировать. Извините.
До сих пор вам удавалось «уйти» от этого, но основная проблема, вероятно, всегда была. Просто переход на iOS5 сделал это очевидным.