Добавьте одно к целому числу, отображаемому в UILabel - PullRequest
2 голосов
/ 30 июля 2011

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

- (IBAction)addButton2:(id)sender {
    int integer = 1;
    integer++;
    [label1 setText:[NSString stringWithFormat:@"%i",integer]];
}

Ответы [ 3 ]

3 голосов
/ 30 июля 2011

int не отвечает на stringValue ...

исходный вопрос имел [int stringValue], который не будет работать

-(IBAction)addButton2:(id)sender {
    static int myInt = 1;
    myInt++;
    NSString *string = [NSString stringWithFormat:@"%d", myInt];
    [label setText:string];  
}
2 голосов
/ 30 июля 2011

Добавьте статическое значение в int, тогда целое число будет инициализировано только один раз.

- (IBAction)addButton2:(id)sender 
{
    static int integer = 1;
    integer++;
    [label1 setText:[NSString stringWithFormat:@"%d", integer]];
}
0 голосов
/ 30 июля 2011

Вы сбрасываете integer на 1 каждый раз, когда нажимаете кнопку, затем увеличиваете ее на единицу.Это всегда приведет к отображению 2 на этикетке.Вам нужно будет переместить инициализацию за пределы этой функции:

- (void)viewDidLoad
{
    [super viewDidLoad];
    integer = 1;
    [label1 setText:[integer stringValue]];
}

- (IBAction)addButton2:(id)sender
{
    integer++;
    [label1 setText:[integer stringValue]];  
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...