Сохранить значение UILabel между случайными представлениями - PullRequest
2 голосов
/ 26 августа 2011

Я создаю приложение-викторину для iPhone, в котором игрок случайно выбирает три разных вида при ответе на вопросы. Они получают +1 при правильном ответе и -1 при неправильном ответе. Но после ответа на вопрос, когда вы переходите к новому случайному представлению, мне нужна UILabel, чтобы показать счет из предыдущего представления. Как мне это сделать?

Вот мой код:

ViewController.h

@interface ViewController : UIViewController {

    IBOutlet UILabel *labelQuestion;
IBOutlet UILabel *labelAnswer1;
IBOutlet UILabel *labelAnswer2;
IBOutlet UILabel *labelAnswer3;
IBOutlet UILabel *labelScore;

int score;    

}

@property (nonatomic, retain) IBOutlet UILabel *labelScore;
@property (nonatomic) int score;


ViewController.m

@synthesize labelScore;
@synthesize score;

-(IBAction)CorrectAnswer; {

    score = score +1;
    labelScore.text = [NSString stringWithFormat:@"%i", score];

}

-(IBAction)WrongAnswer; {

    score = score -1;
    labelScore.text = [NSString stringWithFormat:@"%i", score];

}

Ответы [ 3 ]

1 голос
/ 26 августа 2011

самый быстрый, но грязный способ - сохранить его в делегате приложения ... и если вы хотите, чтобы он сохранялся между запусками приложения, сохраняйте его по умолчанию пользователя но, как я уже сказал, это грязно ..

1 голос
/ 26 августа 2011

Поскольку они являются свойствами, при создании следующего представления вы можете установить для текста метки текст текущего представления, а для оценки - текущее представление.

1 голос
/ 26 августа 2011

Сделайте переменную оценку глобальной, т.е. определите это в вашем AppDelegate, и вы сможете получить к нему доступ через ваше приложение.

...