заменить значение переменной в другом классе

97
6

У меня есть классы * ColorViewController * DrawRectangle

В ColorViewController.h:

#import "DrawRectangle.h"
@interface ColorViewController : UIViewController {
DrawRectangle *DrawRectangle;
}

@property (nonatomic,retain) DrawRectangle *DrawRectangle;

И в DrawRectangle.h:

@interface DrawRectangle : UIView {
CGFloat redc;
}
@property (nonatomic) CGFloat redc;

Я также добавил класс DrawRectangle в ViewController.xib в один из UIView.

Я хочу изменить значение CGFloat redc из файла ColorViewController.m Я делаю это так:

- (void)viewDidLoad
{
CGFloat myfloat = 1.0;
self.DrawRectangle.redc = myfloat;

Я вызываю NSLog с этим "красным" в DrawRectangle, но он говорит 0.0000000 каждый раз.

Как я могу заменить значение "redc" из ViewController? Я не думаю, что мне нужно использовать NSNotification, должен быть более простой способ, если у меня есть DrawRectangle, загруженный в ViewController.

спросил(а) 2012-04-06T02:02:00+04:00 8 лет, 5 месяцев назад
1
Решение
69

Похоже, что ваш объект еще не был создан. Пытаться:

-(void)viewDidLoad {
[super viewDidLoad];

CGFloat myfloat = 1.0;
[drawRectangle setRedc:myfloat];
}

Вы также должны избегать назначения ваших объектов тому же имени, что и класс, в качестве общей практики программирования. Я бы предложил переименовать объект в drawRectangle.

Вам также нужно подключить объект drawRectangle в xib

@property (nonatomic, retain) IBOutlet DrawRectangle *drawRectangle;

ответил(а) 2012-04-06T02:06:00+04:00 8 лет, 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема