我的程序确实从UISlider获得了valuse并通过协议将值发送到它的超类。
child.h
-(void) valueA:(NSInteger *)vA valueB:(NSInteger *)vB;
我在child.m中将其称为
[self.delegate valueA:sliderA.value valueB:sliderB.value];
但它返回错误说“valueA的参数1的不兼容类型:vA:” 在传递值之前,是否必须解析值?或者我只是做了错误的参数?
答案 0 :(得分:1)
-(void) valueA:(NSInteger *)vA valueB:(NSInteger *)vB;
该方法实际应该是
-(void) valueA:(CGFloat)vA valueB:(CGFloat)vB;
我将NSInteger *更改为GCFloat有两个原因。
UISlider的value属性是CGFloat,因此转换为NSInteger会导致精度损失。如果你不介意,你可以改回来,但是我明确地把它改成了,所以更清楚的是你想要的。
我删除了*因为你传递了一个值,而不是一个引用。