Вызов одного селектора из нескольких кнопок UIB - PullRequest
0 голосов
/ 05 февраля 2012

Я знаю, что здесь есть несколько вопросов, которые очень похожи на эти, но я не нахожу нужную мне информацию.Я добавляю сетку UIButtons к моему представлению в цикле for.Каждый раз, когда создается новая кнопка, я звоню addTarget:self action:@selector(doYourThing:) forControlEvent:UIControlEventTouchUpInside.Если я сделаю только одну кнопку, это работает.Но когда я создаю целую сетку кнопок, используя цикл for, ни одна из кнопок не хочет вызывать селектор, и вместо этого я получаю EXC_BAD_ACCESS.Какие-либо предложения?Спасибо всем.

- (void)viewDidLoad
{
    [super viewDidLoad];
    [titleLabel setText:[site title]];
    // Do any additional setup after loading the view from its nib.
    buttonArray = [[NSMutableArray alloc] initWithCapacity:250];
    int i = 0;
    int c = 0;
    int index = 0;
    for (c=0; c < [site columnCount]; c++) {
    for (i = 0; i < [site rowCount]; i++) {
        plotButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        [plotButton addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];
        CGPoint origin = CGPointMake(60.0, 40.0);
        [plotButton setTitle:@"Plot" forState:UIControlStateNormal];
        [plotButton setFrame:CGRectMake(origin.x + (90.0 * c), origin.y + (45.0 * i), 90.0, 45.0)];
        [plotButton setTag:index];
        [buttonArray insertObject:plotButton atIndex:index];
        NSLog(@"%d", [plotButton tag]);
        index ++;
        [[self view] addSubview:plotButton];

        }
    }
}

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

Добавлена ​​точка останова исключения.Получено: Catchpoint 2 (throw) Ожидание точки останова 1 - "objc_exception_throw" разрешено.

Ответы [ 2 ]

2 голосов
/ 05 февраля 2012

Ваш код работает нормально, когда я заменяю [site columnCount] и [site rowCount] на целое число.Я предполагаю, что у вас есть проблема в одном из этих двух методов.

0 голосов
/ 05 февраля 2012

Полагаю, вы вызвали конструктор [UIButon buttonWithType: ...] и затем отпустили кнопку Но я просто догадываюсь. Вы должны написать код здесь, чтобы быть уверенным.

До встречи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...