Я разрабатываю приложение для викторины. Я беру вопросы из XML-файла, разбираю его и выставляю случайные вопросы. Они хранятся в NSdictionary и NSMutableArray. Также приложение воспроизводит фоновую музыку и звук для нажатия кнопок (AVAudioPlayer). и вибрация (AudioServicesPlaySystemSound (kSystemSoundID_Vibrate))ОШИБКА: Утечка памяти, форматы данных временно недоступны
В одной конкретной функции, если я пытаюсь освободить временные переменные, которые я использую (I.E NSDictionary и NSMutableArray), приложение вылетает, и я снова получаю эту функцию. Следовательно, если я освобожу их, он отлично работает, но в конечном итоге сбой «EXC_BAD_ACCESS» ERROR. Он не указывает на какую-либо строку или функцию.
Когда я использовал инструмент «LEAKS», он показал, что у меня было около 7000 утечек. Я не понимаю, как использовать этот инструмент, но я уверен, что я не создаю так много переменных, jus несколько и даже те, которые я выпускаю.
И как только я получил сообщение об ошибке «данные, которые временно недоступны».
Любая идея, что я делаю неправильно ??? F1 :)
PS: мой код - все просто, плюс я не знаю, в чем проблема, поэтому я не знаю, какой код следует публиковать здесь? Также я хотел бы знать, если я создать NSString * в функции для использования темп я должен выпустить его в конце функции (я бы отпустить) EDIT:
-(void) loadQuestion
{
strCorrectAnswer = @"";
int intQuestionNo;
NSString *strQuestionNo = [[NSString alloc] init];
// get random question out the xml file
NSDictionary *dctQue = [dctQuestions objectForKey:strQuestionNo];
// blah blah
// jumble the answers to be displaed
NSMutableArray *answerJumble = [[NSMutableArray alloc] init];
NSMutableArray *answers =[NSMutableArray arrayWithObjects:[dctQue objectForKey:@"WrongAnswer1"],[dctQue objectForKey:@"WrongAnswer2"],[dctQue objectForKey:@"WrongAnswer3"],[dctQue objectForKey:@"CorrectAnswer"],nil];
// blah blah
/*
[strQuestionNo release];
[answers release];
[answerJumble release]; */
}
Можете ли вы показать код для вашей «одной конкретной функции», где вы видели сбои? –
может быть, потому что я использую AVAudioPlayer ?? Я использую следующий код для музыки. Для EG: NSString * soundFilePath = [[NSBundle mainBundle] pathForResource: @ "sound" ofType: @ "caf"]; NSURL * newURL = [[NSURL alloc] initFileURLWithPath: soundFilePath]; iKnow.player = [[AVAudioPlayer alloc] initWithContentsOfURL: newURL error: NULL]; –
iKnow.player - это переменная из appDelegat, и я использую [игру iKnow.player] для воспроизведения звука при нажатии кнопок. Аналогичным образом у меня есть 2more переменная для разных звуков. –