У меня есть рабочий код (запрограммированный в учебном пособии), но мне нравится погружаться немного глубже.
Следующая ситуация:
У меня есть массив с вопросами и один массив с ответами
Когда пользователь нажимает кнопку «Показать вопрос», метод смотрит, где мы находимся в массиве, и отображает либо следующий вопрос в массиве, либо возвращается к началу и показывает
Первый вопрос, который мы имеем в нашем массиве.
H ФАЙЛ:
#import <UIKit/UIKit.h>
@interface QuizAppDelegate : NSObject <UIApplicationDelegate>
{
IBOutlet UIWindow *window;
NSMutableArray *answers;
NSMutableArray *questions;
IBOutlet UILabel *answersField;
IBOutlet UILabel *questionsField;
int currentQuestionIndex;
}
@property (retain, nonatomic) UIWindow *window;
- (IBAction)showQuestion:(id)sender;
- (IBAction)showAnswer:(id)sender;
@end
M FILE (только метод кнопки)
- (IBAction)showQuestion:(id)sender
{
// Step to the next question
currentQuestionIndex++;
// Am I past the last question?
if (currentQuestionIndex == [questions count]) {
// Go back to the first question
currentQuestionIndex = 0;
}
// Get the string at that index in the questions array.
NSString *question = [questions objectAtIndex:currentQuestionIndex];
// Displaying the string in the questions field.
[questionsField setText:question];
// Clear the answer field:
[answersField setText:@"???"];
}
Все работает, но я не понимаю, где связь между
Переменная int currentQuestionIndex и индекс в NSMutableArray.
В настоящее время, когда мой int currentQuestionIndex сообщает 2, вопрос сохраняется
в массиве в позиции № 2, но как это возможно?
Для меня похоже, что мы не подключили переменную int currentQuestionIndex
с индексом в массиве мы только что объявили, что есть переменная int
в заголовочном файле.
Может быть, глупый вопрос .... или просто важно, какое реальное число я получу?
Например, я получаю 2 обратно от int, чтобы я мог ссылаться на 2 в массиве, и нет
Требование присоединить / подключить их.
Надеюсь, что вы можете следовать;)