我是新來的Objective-C編程,我卡住了。 我在我的viewcontroller中有uislider,在viewcontroller的頭文件中有float變量。 我也有一個新的類,它改變了我的第二個視圖的外觀,我覆蓋了drawRect。從ViewController傳遞float值到某些類
我只是將slider.value的值保存在我的float變量中,然後嘗試訪問我的類中的float變量,因爲此變量定義了我想繪製的線條的寬度。我的視圖控制器的
頭文件
@interface ViewController : UIViewController
{
float lineWidth;
}
@property float lineWidth;
-(float)changingline;
@end
viecontroller.m // sliderForLine = UISlider
- (IBAction)valuechangedForLine:(UISlider *)sender
{
float sliderValue = sliderForLine.value;
lineWidth = sliderValue;
[self changingline];
}
-(float)changingline
{
NSLog(@"%f", lineWidth);
return lineWidth;
}
的NSLog說,有線寬一些值
類指定如何第二UIView應該看起來像
#import "ViewController.h"
ViewController *oldView = [[ViewController alloc] init];
CGContextSetLineWidth(ctx, oldView.lineWidth);
NSLog(@"%f",oldView.lineWidth);
,並在這裏,在第二類中,的NSLog說,始終爲0
我很困惑,我甚至不知道現在爲什麼我使用 - (無效)低能:)
我所知道的我錯過了如何在類之間傳遞值的主要觀點,有人可以解釋我做錯了什麼嗎?
在此先感謝:]
你能否更具體地告訴你如何將float值從一個類傳遞到另一個類。我似乎無法理解你的設置。 – 2012-02-01 23:37:10
您正在創建一個全新的'ViewController'對象,因此從未爲該實例設置浮點值。您需要持有對現有視圖控制器的引用,或者創建協議和相應的方法以將值傳遞給委託。 – Rog 2012-02-01 23:49:13