如何通过委托传递uislider值?

时间:2011-08-05 16:57:33

标签: iphone

我的程序确实从UISlider获得了valuse并通过协议将值发送到它的超类。

child.h

-(void) valueA:(NSInteger *)vA valueB:(NSInteger *)vB;

我在child.m中将其称为

[self.delegate valueA:sliderA.value valueB:sliderB.value];

但它返回错误说“valueA的参数1的不兼容类型:vA:” 在传递值之前,是否必须解析值?或者我只是做了错误的参数?

1 个答案:

答案 0 :(得分:1)

-(void) valueA:(NSInteger *)vA valueB:(NSInteger *)vB;

该方法实际应该是

-(void) valueA:(CGFloat)vA valueB:(CGFloat)vB;

我将NSInteger *更改为GCFloat有两个原因。

UISlider的value属性是CGFloat,因此转换为NSInteger会导致精度损失。如果你不介意,你可以改回来,但是我明确地把它改成了,所以更清楚的是你想要的。

我删除了*因为你传递了一个值,而不是一个引用。