Добавить UILabel для просмотра target-c - PullRequest
0 голосов
/ 28 февраля 2012

Я хотел бы добавить метку для каждой сделанной скобки.Я получаю сообщение "Тип получателя 'draw 2D' (мой класс), например, сообщение не объявляет метод с селектором" addSubView "для второй до последней строки.И я получаю "ARC запрещает явную отправку сообщения 'release'" для последней строки.

Вот мой код:

for (int i = 0; i < 4; i++) {
    CGFloat bracketStartX = 50;
    CGFloat bracketEndX = 200;
    CGFloat bracketStartY = 25  + (i * height / 4);
    CGFloat bracketEndY = 80 + (i * height / 4);
    CGContextMoveToPoint(context, bracketStartX, bracketStartY);

    //make bracket
    CGContextAddLineToPoint(context, bracketEndX, bracketStartY);

    CGContextAddLineToPoint(context, bracketEndX, bracketEndY);
    CGContextAddLineToPoint(context, bracketStartX, bracketEndY);

    CGContextMoveToPoint(context, bracketEndX, (bracketEndY + bracketStartY)/2 );
    CGContextAddLineToPoint(context, bracketEndX + 50, (bracketEndY + bracketStartY)/2);

    UILabel *label =  [[UILabel alloc] initWithFrame: CGRectMake(bracketStartX + 5, bracketStartY - 5, 20, 15)];
    label.text = @"text"; //etc...
    [self addSubView:label];
    [label release];

}

Спасибо.

Ответы [ 2 ]

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

Похоже, ваш класс не является подклассом UIView, поэтому вы не можете вызвать addSubView.Кроме того, поскольку вы используете ARC, вы можете безопасно удалить разъединяющий вызов, ARC избавится от него за вас.

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

[self addSubview]; // lowercase v

Если вы используете ARC, не release ваши объекты.

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