在Obj-C中设置对象通信的简单方法是什么?

时间:2010-04-20 04:28:45

标签: objective-c oop methods controller

我正在尝试将控制器对象的滑块值发送到模型对象的方法。后者是在单独的文件中实现的,我有适当的标题。我认为问题在于我不确定如何实例化接收器以便为控制器生成一种工作方法。

这是控制器的方法。

-(IBAction)setValue:(id)slider {[Model setValue:[slider floatValue]];}

@implementation Model
-(void)setValue:(float)n{
    printf("%f",n);
}
@end

我得到的是'Model'可能无法响应'+ setValue'警告而且我的控制台中没有输出。

感谢任何见解。

2 个答案:

答案 0 :(得分:1)

您应首先分配模态,因为该方法是一个实例方法,不能用作类(静态)方法。

使用Model * modelObject = [[Model alloc] init]; [modelObject setValue:2];

答案 1 :(得分:0)

另一种方法,如果这对你的项目有意义,那就是1)在你的nib文件中添加一个对象控制器2)将该对象控制器的类设置为模型类3)在你的模型类中创建一个滑块的实例变量:float sliderFloatValue 4)为float创建访问器:@property(readwrite,assign)float sliderFloatValue; @synthesize sliderFloatValue; 5)将滑块值绑定到模型类的sliderFloatValue