Я занимаюсь разработкой приложения для викторины. Я беру вопросы из XML-файла, анализирую его и отображаю случайные вопросы. Они хранятся в NSdictionary и NSMutableArray. Также приложение воспроизводит фоновую музыку и звук для нажатия кнопок (AVAudioPlayer). и вибрация (AudioServicesPlaySystemSound (kSystemSoundID_Vibrate))
В одной конкретной функции, если я пытаюсь освободить временные переменные, которые я использую (I.E NSDictionary и NSMutableArray), приложение вылетает, когда я достигаю эту функцию во второй раз. Следовательно, если я не выпускаю их, это работает хорошо, но в конечном итоге вылетает с ошибкой «EXC_BAD_ACCESS». Он не указывает на какую-либо строку или функцию.
Когда я использовал инструмент «УТЕЧКИ», он показал, что у меня было около 7000 утечек. Я не понимаю, как использовать этот инструмент, но я уверен, что я не создаю так много переменных, всего несколько и даже те, которые я выпускаю.
И только однажды я получил ОШИБКУ "средства форматирования данных временно недоступны".
Есть идеи, что я делаю не так? 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]; */
}