将对象的值分配给ios中的另一个对象

时间:2012-11-15 06:50:13

标签: ios

我在ios教程中看到了这个陈述。我知道这个陈述的意思。 这是否意味着将发件人对象的含义指向另一个对象。

UISlider *s=(UISlider *)sender;

任何人都可以帮助我。提前谢谢

3 个答案:

答案 0 :(得分:1)

sender强制转换为UISlider*。你告诉编译器“相信我,我知道senderUISlider*”。分配到s后,您可以将s用作UISlider,而无需改进类型检查(如果id)且没有警告(如果sender是objc指定类型的对象)。如果它不是UISlider,那么您的程序可能会在运行时遇到错误。

另请注意,sender通常与执行操作的对象/控件相关联,并且通常使用类型id声明,例如- (IBAction)performSomeAction:(id)sender。在这种情况下,UISlider * s = (UISlider*)sender;是多余的。我赞成更简单的UISlider * s = sender;

答案 1 :(得分:0)

通常,将发件人参数命名为sender类型为id的方法。 id是通用对象指针。该代码的要点是将发送者的类型转换为UISlider*,以便您可以在其上调用UISlider的方法而不会生成编译器警告。

答案 2 :(得分:0)

这是类型转换。 这里发件人被类型转换为UISlider

它类似于C语法,

int x = (int)aValue;