我是新来的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