ich folgende Meldungen vor Absturz bin immer:Programmabsturz, braucht Hilfe, das Problem zumindest, was zu finden aussieht
2011-01-02 00:55:15.935 XXXX[7981:207] answerButton1
2011-01-02 00:55:15.938 XXXX[7981:207] >>>>>>>>>>>>>>>>>>>>nrQPlayer: 2
2011-01-02 00:55:15.939 XXXX[7981:207] =========whatPlayerCount===========
2011-01-02 00:55:15.939 XXXX[7981:207] ==whatPlayerCount== 1
2011-01-02 00:55:15.940 XXXX[7981:207] =========Spelare 1===========
2011-01-02 00:55:15.940 XXXX[7981:207] oooooooEND OF PLAYER!oooooooooo
2011-01-02 00:55:15.941 XXXX[7981:207] ooooooooooBEFORE IFooooooooooo
2011-01-02 00:55:15.942 XXXX[7981:207] INIT 0x5b9be30
2011-01-02 00:55:16.563 XXXX to be able to fix it[7981:207] *** -[ErrorMessage respondsToSelector:]: message sent to deallocated instance 0xca25ff0
Ich habe versucht, genau auf der Spur, wo das Problem ist, zu testen versucht ' Behalten Sie 'an einigen Stellen, aber etwas Optionen jetzt nicht mehr. Wenn ich versuche, Debugger mit Haltepunkt zu laufen, aber es bleibt hängen und ich kann nicht vorwärts gehen.
Ich würde jede mögliche Hilfe schätzen. Ich bin ziemlich neu in diesem auch, was nicht der Situation :-)
besser macht Hier ist das der Teil des Codes, der Absturz:
Fall 2: // Zwei Spieler
//nrQPlayer antal spelare
NSLog(@"=========whatPlayerCount===========");
NSLog(@"==whatPlayerCount== %i", whatPlayerCount);
switch (whatPlayerCount) {
case 1:
NSLog(@"=========Spelare 1===========");
playerDiff = 1;
whatPlayerCount = 2;
thePlayer = 0;
NSLog(@"oooooooEND OF PLAYER!oooooooooo");
break;
case 2:
NSLog(@"=========Spelare 2===========");
playerDiff = 3;
whatPlayerCount = 1;
thePlayer = 2;
break;
default:
NSLog(@"=========break===========");
break;
}
NSLog(@"ooooooooooBEFORE IFooooooooooo");
NSLog(@"INIT %p", self);
// >>>>>>>>HERE IS WHERE THE CRASH HAPPENS<<<<<<<<<<
if (askedQuestions < nrOfQuestionsPerPlayer) {
NSLog(@"1");
if ([[finalPlayersInGame objectAtIndex:playerDiff] intValue] == 1) { // HARD
NSLog(@"HARD 1");
questionNr = [[hardQArray objectAtIndex:askedQuestions] intValue];
qArray = [readQuestionFunction readQuestion: questionNr];
question_TextView.text = [qArray objectAtIndex:0];
NSLog(@"HARD - qNr: %i", questionNr);
}
else if ([[finalPlayersInGame objectAtIndex:playerDiff] intValue] == 2) { // MEDIUM
NSLog(@"2");
questionNr = [[mediumQArray objectAtIndex:askedQuestions] intValue];
qArray = [readQuestionFunction readQuestion: questionNr];
question_TextView.text = [qArray objectAtIndex:0];
NSLog(@"MEDIUM - qNr: %i", questionNr);
}
else if ([[finalPlayersInGame objectAtIndex:playerDiff] intValue] == 3) { // EASY
NSLog(@"3");
questionNr = [[easyQArray objectAtIndex:askedQuestions] intValue];
qArray = [readQuestionFunction readQuestion: questionNr];
NSLog(@"qArray: %@", qArray);
NSLog(@"questionNr: %i", questionNr);
question_TextView.text = [qArray objectAtIndex:0];
NSLog(@"EASY - qNr: %i", questionNr);
}
NSLog(@"ooooooooooAFTER IFooooooooooo");
NSLog(@"4");
playerName_Label.text = [NSString stringWithFormat:@"Spelare: %@", [finalPlayersInGame objectAtIndex:thePlayer]];
playerResult_Label.text = [NSString stringWithFormat:@"Fråga %i av %i", askedQuestions, nrOfQuestionsPerPlayer];
//========CALL AccesQuestionDB MODULE TO SHUFFLE PLAYERS=========//
AccessQuestionsDB *shufflePlayersFunction = [AccessQuestionsDB new];
buttonOrder = [[NSMutableArray alloc] initWithObjects:@"1", @"2", @"3", nil];
buttonOrder = [shufflePlayersFunction shufflePlayers: buttonOrder]; // Use shufflePlayers to shuffle button also
NSLog(@"buttonOrder: %@", buttonOrder);
[shufflePlayersFunction release];
NSLog(@"5");
//========CALL buttonsOrder=========//
ButtonOrderAccess *buttonOrderFunction = [ButtonOrderAccess new];
[buttonOrderFunction saveButtonOrder: buttonOrder];
[buttonOrderFunction release];
NSLog(@"qArray: %@", qArray);
NSLog(@"buttonOrder: %@", buttonOrder);
[self.answerButton1 setTitle:[qArray objectAtIndex:[[buttonOrder objectAtIndex:0]intValue]] forState:UIControlStateNormal];
[self.answerButton2 setTitle:[qArray objectAtIndex:[[buttonOrder objectAtIndex:1]intValue]] forState:UIControlStateNormal];
[self.answerButton3 setTitle:[qArray objectAtIndex:[[buttonOrder objectAtIndex:2]intValue]] forState:UIControlStateNormal];
if (firstQuestion == YES) {
firstQuestion = NO;
//secondQuestion = YES;
}
else {
askedQuestions++;
firstQuestion = YES;
}
}
else {
// Call Error Message
ErrorMessage *callErrorMessageFunction = [ErrorMessage new];
[callErrorMessageFunction questionError: @"Q2"];
[callErrorMessageFunction release];
}
Vielen Dank an Sie, das Problem zu sein scheint, bemerkte ich aus diesem funktioniert und es hat funktioniert :-) – PeterK
@PeterK toll, aber kommentieren Sie nicht einfach eine 'Veröffentlichung' aus! Ändern Sie es zumindest in 'Autorelease'. Oder du wirst viel später wegen Speicherlecks hier herkommen, später ... – mvds