У меня есть 3 VC. A, который отображает вопросы и ответы. B отображается, когда вопрос ошибочно выбран C, как только уровень будет чистым. У меня проблема с A-B & A-C. Вот мой кодДифференциация между двумя контроллерами просмотра
#import "AViewController.h"
#import "BViewController.h"
#import "CViewController.h"
@interface AViewController()
@end
Теперь вот код реализации
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
BViewController *incorrect = [segue destinationViewController];
incorrect.currentQuestion = self.currentQuestion;}
// Здесь A посылает информацию B о которой вопрос ответил неправильно, т.е. текущий вопрос
- (void)viewDidLoad
{
[super viewDidLoad];
rootArray = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Addition1" ofType:@"plist"]];
currentQuestion = -1;
[self showNextQuestion];
}
-(void) showNextQuestion{
currentQuestion++;
if (currentQuestion <= 3) {
int numItems = [rootArray count];
NSMutableArray *question = [NSMutableArray arrayWithCapacity:numItems];
NSMutableArray *A = [NSMutableArray arrayWithCapacity:numItems];
NSMutableArray *B = [NSMutableArray arrayWithCapacity:numItems];
NSMutableArray *C = [NSMutableArray arrayWithCapacity:numItems];
NSMutableArray *addimage = [NSMutableArray arrayWithCapacity:numItems];
NSMutableArray *Answer = [NSMutableArray arrayWithCapacity:numItems];
for (NSDictionary *itemData in rootArray) {
[question addObject:[itemData objectForKey:@"question"]];
[A addObject:[itemData objectForKey:@"A"]];
[B addObject:[itemData objectForKey:@"B"]];
[C addObject:[itemData objectForKey:@"C"]];
[addimage addObject:[itemData objectForKey:@"ImageUse"]];
[Answer addObject:[itemData objectForKey:@"ANS"]];
}
self.questionasked.text = question[currentQuestion];
self.answer1.text = A[currentQuestion];
self.answer2.text = B[currentQuestion];
self.answer3.text = C[currentQuestion];
additionImage.image = [UIImage imageNamed:addimage[currentQuestion]];
self.correctAns = Answer[currentQuestion];}
else{
NSLog(@"End of Array ");
[self performSegueWithIdentifier:@"levelpassed" sender:nil];
}
}
Этот площадь выше здесь, где я столкнулся с проблемой
Когда уровень очищается C VC оказывает эту ошибку, отображающее
[CViewController setCurrentQuestion:]: unrecognized selector sent to instance 0x71cae70
2013-03-30 21:17:31.264 thefyp[14311:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[CViewController setCurrentQuestion:]: unrecognized selector sent to instance 0x71cae70'
Я знаю, что вопрос заключается в том, что А найти его трудно провести различие между Segue и пытается отправить данные C о текущем вопросе, когда все, что я хочу чтобы сделать это отображение C, когда закончен A, показывая все вопросы, и данные не передаются, как когда A переходит на B. B & C также является подклассом A. Любая помощь будет полезна
Проверьте, не изменили ли вы свой статус viewController в раскадровке. – Anupdas
Из идентификатора segue? – user2236306
Идентичность CViewController – Anupdas