Итак, я новичок в Objective C, XCode iOS, поэтому я начинаю с простого приложения-счетчика.Обновление переменной из другого объекта цели c
У меня есть настройки, основанные на настройке (приращение балла при нажатии кнопки), но я не могу получить текст UILabel для обновления, на каждой кнопке нажмите, т.е. каждый раз, когда я увеличиваю currentScore
, он не обновляет currentScore
переменная внутри UILabel text
Любая помощь будет высоко оценена!
#import "JPViewController.h"
@implementation JPViewController
int currentScore;
- (void)viewDidLoad
{
[super viewDidLoad];
//Init currentScore
currentScore = 0;
NSLog(@"Your score is %d", currentScore);
//Points text label
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(100, 100, 290, 400)];
label.text = [NSString stringWithFormat:@"Your score is: %d", currentScore];
[label setFont:[UIFont boldSystemFontOfSize:16]];
//TODO: Position points in centre.
[self.view addSubview:label];
//Add Points Button
UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
[button setTitle:@"Press Me" forState:UIControlStateNormal];
[button sizeToFit];
button.center = CGPointMake(320/2, 60);
[button addTarget:self action:@selector(buttonPressed:)
forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
}
- (void)buttonPressed:(UIButton *)button {
NSLog(@"Button Pressed");
currentScore++;
NSLog(@"Your score is %d", currentScore);
//TODO: Update the label with the new currentScore here.
}
Немного поправил, но, спасибо! – JP89
Для тех, кто посещает это - не используйте теги для этой ситуации! Второй подход кажется более логичным, однако «метка» определенно не является глобальной переменной. –
@ hris.to спасибо за комментарий, но можете ли вы сказать мне, почему мы не использовали тег? И если мы не используем тег и хотим получить доступ к этому ярлыку в кнопке, как это возможно с помощью тега out или не сделать его глобальным? –