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
Iphone 创建滑块_Iphone_Objective C_Cocoa Touch_Slider - Fatal编程技术网

Iphone 创建滑块

Iphone 创建滑块,iphone,objective-c,cocoa-touch,slider,Iphone,Objective C,Cocoa Touch,Slider,我正在为我的滑块使用其他人的代码 他的代码是这样的 UISlider *slider = (UISlider *)sender; int number = [slider value]; NSString *string = [NSString stringWithFormat:@"%i", number]; label.text = string; 它显示滑块值,从0到100 这很有道理,只是我对第一行代码感到困惑,它是在=(UISlider*)发送方部分之后的部分 UISlider *sl

我正在为我的滑块使用其他人的代码

他的代码是这样的

UISlider *slider = (UISlider *)sender;
int number = [slider value];
NSString *string = [NSString stringWithFormat:@"%i", number];
label.text = string;
它显示滑块值,从0到100

这很有道理,只是我对第一行代码感到困惑,它是在=(UISlider*)发送方部分之后的部分

UISlider *slider = (UISlider *)sender;
如果我理解正确,他将UISlider指向发送方,并将其存储到slider实例中

我想我的问题是,这里发生了什么?是否已分配UISlider*滑块实例。。这里的幕后到底发生了什么,其他类也可以这样做吗


谢谢你的回复

据我所知,当事件发生在UISlider的某个对象上时,上面的代码就会发生,因此,该代码位于“回调”方法中。此时,对象已经存在,您不需要再为它分配内存(就是那个对象,它实际上调用了这个方法);这家伙所做的一切就是将“sender”参数(这是任何回调(iAction?)方法的标准)强制转换为UISlider类型,确保他实际使用此类的对象。他这样对编译器说:“看,我知道这是UISlider的一个对象。请让我用一种标准的滑块方式来处理它。”


请纠正我,伙计们,如果我在什么地方错了。

据我所知,上面的代码发生在UISlider的某个对象发生事件时,相应地,此代码在“回调”方法中。此时,对象已经存在,您不需要再为它分配内存(就是那个对象,它实际上调用了这个方法);这家伙所做的一切就是将“sender”参数(这是任何回调(iAction?)方法的标准)强制转换为UISlider类型,确保他实际使用此类的对象。他这样对编译器说:“看,我知道这是UISlider的一个对象。请让我用一种标准的滑块方式来处理它。”


如果我在什么地方错了,请纠正我。

据我所知,发送方(在本例中)对事件负责,因为它调用的事件很可能是
iAction
。通常,发送方是一个非类型化的对象,可以表示任何类型的对象。在这种情况下,程序员确信它将被
UISlider
对象调用。因此,类型转换是为了获得类型为
UISlider
的对象。例如,也可以对
UIButton
执行此操作,其中此行可以替换为
UIButton*button=(UIButton*)发送器

据我所知,发送方(在本例中)对事件负责,因为它调用的事件很可能是
iAction
。通常,发送方是一个非类型化的对象,可以表示任何类型的对象。在这种情况下,程序员确信它将被
UISlider
对象调用。因此,类型转换是为了获得类型为
UISlider
的对象。例如,也可以对
UIButton
执行此操作,其中此行可以替换为
UIButton*button=(UIButton*)发送器

Thank's我想这就是答案。是的,这会起作用,但value属性会给我一个错误,因为按钮不包含该属性。但我明白你的意思,我只是试过了。再次感谢。显然这对代码不起作用,但如果你这样做的话,你可以得到UIButton的所有属性和实例方法。谢谢,我想这就是答案。是的,那会起作用,除了value属性会给我一个错误,因为button不包含所述属性。但我明白你的意思,我只是试过了。再次感谢您。显然,这对这段代码不起作用,但是如果您使用它,您可以获得UIButton的所有属性和实例方法。