2012-04-05 13 views
0

私が持っているクラス * 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; 

また、ViewController.xibのDrawRectangleクラスをUIViewのいずれかに追加しました。

私はそれをこのようにやっているColorViewController.m ファイルからCGFloatのREDCの値を変更したい:

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

私はDrawRectangleでこの「REDC」でのNSLogを呼んでいるが、それは言います毎回0.0000000。

「redc」の値をViewControllerからどのように置き換えることができますか?私はNSNotificationを使用する必要はないと思うので、ViewControllerにDrawRectangleをロードすれば、より簡単な方法が必要です。

+0

[別のクラスにブール値を設定する]の可能な重複(http://stackoverflow.com/questions/10004502/setting-bool-inであなたのdrawRectangleオブジェクトをフックアップする必要があります - 異なるクラス) – Chuck

答えて

2

あなたのオブジェクトはまだインスタンス化されていないようです。試してみてください:

-(void)viewDidLoad { 
    [super viewDidLoad]; 

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

一般的なプログラミングの習慣と同じように、オブジェクトの名前をクラスと同じ名前にしないでください。オブジェクトの名前をdrawRectangleに変更することをお勧めします。

はまた、あなたのXIB

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

[DrawRectangle setRedc:myfloat];なぜそうなのか?それは働いていないようです... –

+0

なぜなに?あなたのオブジェクトは合成されていますか? '@synthesize redc;'と '@synthesize DrawRectangle;' – ColdLogic

+0

はい、私はredcをDrawRectangle.mとDrawRectangleでViewControllerに合成しました。 –

関連する問題