我在ios tutorial中看到了这个语句。我可以知道这个语句的含义。 这是否意味着将发件人对象的含义指向另一个对象。在ios中分配一个对象的另一个对象的值
UISlider *s=(UISlider *)sender;
可以提前
我在ios tutorial中看到了这个语句。我可以知道这个语句的含义。 这是否意味着将发件人对象的含义指向另一个对象。在ios中分配一个对象的另一个对象的值
UISlider *s=(UISlider *)sender;
可以提前
任意一个帮助me.thanks通常,采取发送参数的方法命名的sender
作为id
类型。 id
是通用对象指针。该代码的重点是将发送方类型转换为UISlider*
,以便您可以在其上调用UISlider的方法而不产生编译器警告。
它的类型转换sender
作为UISlider*
。你告诉编译器“相信我,我知道sender
是UISlider*
”。一旦分配到s
,那么您可以使用s
作为UISlider
而无需改进类型检查(如果id
)且没有警告(如果sender
是指定类型的objc对象)。如果它不是UISlider
,那么您的程序在运行时可能会遇到错误。
还要注意的是,sender
通常与执行动作的对象/控件相关联,并且通常用类型id
(例如, - (IBAction)performSomeAction:(id)sender
。在这种情况下,UISlider * s = (UISlider*)sender;
是多余的。我赞成更简单的UISlider * s = sender;
。
它是类型转换。 在这里,发件人是型号为UISlider
的类型。
它类似于C
语法,
int x = (int)aValue;
@瑞安巴兰坦感谢dude.Can你建议我为iOS艾米有用的教程和我一样 – Techy
@AnazA一个初学者,我建议你留远离的iOS,而你是初学者。首先开始正确学习C.实际上,这个问题与Objective-C和iOS没什么关系,你可以用2个任意的C指针来做到这一点。 – 2012-11-15 07:07:34