Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 什么';在Obj-C中设置对象通信的简单方法是什么?_Objective C_Oop_Methods_Controller - Fatal编程技术网

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

Objective c 什么';在Obj-C中设置对象通信的简单方法是什么?,objective-c,oop,methods,controller,Objective C,Oop,Methods,Controller,我试图将滑块值从控制器对象发送到模型对象的方法。后者在单独的文件中实现,我有适当的头文件。我认为问题在于,我不确定如何实例化接收器,以便为控制器生成一个工作方法 这是控制器的方法 -(iAction)setValue:(id)滑块{[Model setValue:[slider floatValue]];} @implementation Model -(void)setValue:(float)n{ printf("%f",n); } @end 我得到的是“Model”可能不会响应“

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

这是控制器的方法

-(iAction)setValue:(id)滑块{[Model setValue:[slider floatValue]];}

@implementation Model
-(void)setValue:(float)n{
    printf("%f",n);
}
@end
我得到的是“Model”可能不会响应“+setValue”警告,并且我的控制台中没有输出


任何洞察都值得赞赏。

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

使用Model*modelObject=[[Model alloc]init];
[modelObject设置值:2]

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

我认为不能包含类似model*modelObject=[[model alloc]init]的内容;在实例变量声明中?如果我错了,请纠正我。另外,我的参数是一个滑块值,而不是一个普通的2。因此,我正在寻找一种模型类实例化slider值的方法。我刚刚输入了一个示例值,您可以将slider.value而不是2。如果我理解正确,您建议这样做吗@接口模型{float-sliderFloatValue;}@end@implementation-Model-(void)setValue:(float)n{printf(“%f”,n);}@end@interface-Controller:NSObject{Model*变量;}@end@implementation-Controller-(iAction)setValue:(id)滑块{[variable setValue:[slider floatValue]];}@end