UIbutton и проблема с действиями

Я хочу создать UIbutton динамически. И отображать номер тега. Итак, я успешно сделал кнопки, я нажал первую кнопку, и она показала «ноль» для тега, затем я нажал вторую кнопку, после чего программа разбилась. Я не уверен, какая часть моего кода пошла не так.

Вот мой код:

NSMutableArray *buttonsArray = [[NSMutableArray alloc] initWithObjects:nil];

for(int i = 0; i < [someArray count]; i++)
{
      button = [[UIButton alloc] initWithFrame:CGRectMake(btnX,btnY,btnW,btnH)];

    button.tag = i;

    [buttonsArray addObject:button];

    [[buttonsArray objectAtIndex:i] addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];

    button.titleLabel.text = [NSString stringWithFormat:@"Click it"];

    [self.view addSubview:button];

    btnY = btnY + 120;
}

-(IBAction) buttonPressed:(id)sender {

UIButton *btn = (UIButton *)sender;
NSLog(@"%@", btn.tag);

}


person kevin    schedule 27.07.2011    source источник


Ответы (2)


Это потому что tag это NSInteger и вы делаете

NSLog(@"%@", btn.tag);

Вы должны использовать %ld в качестве спецификатора формата. Делать

NSLog(@"%ld", btn.tag);
person Deepak Danduprolu    schedule 27.07.2011

Измените код как NSLog(@"%@",self.but.tag); или NSLog(@"%@",self.but.tag.me)

person user857280    schedule 27.07.2011