在Objective C语法中使用*

use*_*097 2 objective-c

我用一些客观的c语法苦苦挣扎.有人可以在下面的实例方法中详细说明*的用法.

- (IBAction)sliderChanged:(id)sender{
    UISlider *slider = (UISlider *)sender;
}
Run Code Online (Sandbox Code Playgroud)

我意识到我们正在创建一个类型为UISlider的变量,然后在将其作为UISlider强制转换后将其设置为sender.但是,我不明白*是什么以及为什么

UISlider slider = (UISlider)sender; 
Run Code Online (Sandbox Code Playgroud)

不行.

cbl*_*des 13

*,就像在C中一样,在类型中使用时表示指针(例如你的情况)并取消引用指针.

指针只是一个变量,它包含其他东西的内存地址,在你的例子中是一个UISlider对象.

所以在你的例子中,

UISlider *slider = (UISlider *)sender;
Run Code Online (Sandbox Code Playgroud)

slider是类型UISlider *,或指向UISlider对象的指针.

以下有关C中指针的教程也适用于Objective-C: 您需要了解的有关C中指针的所有内容