I have an NSMutableArray with 9 objects. These objects have many properties, such as questionName , questionWhatRow , etc.
I want to be able to change one of these properties for All objects in NSMutableArray .
Here is my NSMutableArray class.
-(id) init { self = [super init]; if (self) { self.questionsArray = [[NSMutableArray alloc] init]; Question *newQuestion = [[Question alloc] init]; newQuestion.questionName = @"What is the name of the girl who has to fetch water for her family every day?"; newQuestion.questionRowName = @"Question 1"; newQuestion.questionAnswer = @"Nya"; newQuestion.questionHint = @"Maybe if you read the book you would know"; newQuestion.questionWhatRow = @"Nya"; newQuestion.questionCompleteOrNot = @"No"; newQuestion.pointForQuestion = 1; [self.questionsArray addObject:newQuestion]; newQuestion = [[Question alloc] init]; newQuestion.questionName = @"What is Nya sister name?"; newQuestion.questionRowName = @"Question 2"; newQuestion.questionAnswer = @"Akeer"; newQuestion.questionHint = @"Maybe if you read the book you would know"; newQuestion.questionWhatRow = @"Nya"; newQuestion.questionCompleteOrNot = @"No"; newQuestion.pointForQuestion = 1; [self.questionsArray addObject:newQuestion]; newQuestion = [[Question alloc] init]; newQuestion.questionName = @"What people is Nya mother scared of when her father and sons go hunting?"; newQuestion.questionRowName = @"Question 3"; newQuestion.questionAnswer = @"Dinka"; newQuestion.questionHint = @"Maybe if you read the book you would know"; newQuestion.questionWhatRow = @"Nya"; newQuestion.questionCompleteOrNot = @"No"; newQuestion.pointForQuestion = 1; [self.questionsArray addObject:newQuestion]; newQuestion = [[Question alloc] init]; newQuestion.questionName = @"What is Salva scared of when he is in the Akobo desert?"; newQuestion.questionRowName = @"Question 4"; newQuestion.questionAnswer = @"Lions"; newQuestion.questionHint = @"He is scared of an animal because it ate his friend Marial"; newQuestion = nil; } return self; } -(NSUInteger)count { return questionsArray.count; } - (Question *)questionAtIndex:(NSUInteger)index { return [questionsArray objectAtIndex:index]; }
Now I have another class called ScoreViewController , and I want to be able to change the questionCompleteOrNot property of NSMutableArray questionsArray for all objects / questions to @"No" .
My ScoreView has a Reset button, but I donβt know what to add to it to change all the questionCompleteOrNot property to @"No" .
Sorry for the long question, I tried to be very specific.
Edit
Here is my DetailView for tableView.
if ([[selectedQuestion questionCompleteOrNot] isEqualToString:@"No"]) { if ([[selectedQuestion questionAnswer] caseInsensitiveCompare:answerField.text] == NSOrderedSame) { // Show the correct label [correctLabel setHidden:NO]; correctLabel.text = @"Correct!"; correctLabel.textColor = [UIColor greenColor]; } else { // Show the incorrect label [correctLabel setHidden:NO]; correctLabel.text = @"Incorrect"; correctLabel.textColor = [UIColor redColor]; [incorrectPlayer play]; [[selectedQuestion questionCompleteOrNot] isEqualToString:@"Yes"]; } // Erase the text in the answerField answerField.text = @""; } if ([[selectedQuestion questionCompleteOrNot] isEqualToString:@"Yes"]) { UIAlertView *error = [[UIAlertView alloc] initWithTitle:@"Error" message:@"You already answered this question. Please click the reset button on the score view to restart." delegate:self cancelButtonTitle:@"Okay!" otherButtonTitles:nil]; [error show]; answerField.text = @""; } selectedQuestion.questionCompleteOrNot = @"Yes"; correctLabel.text = @""; NSLog(@"Selected question questionCompleteOrNot is %@", [selectedQuestion questionCompleteOrNot]);
jakife
source share