什么意思*和&

Nez*_*jka -4 iphone xcode objective-c ios

今天我读了Carlo Chung的"Pro Objective-C Design Patterns for iOS".所以我读了一下Adapter Pattern并看到在协议中声明了这个方法:

-(void) command: (SetStrokeColorCommand *) command
        didRequestColorComponentsForRed: (CGFloat *) red
                                  green: (CGFloat *) green
                                   blue: (CGFloat *) blue;
Run Code Online (Sandbox Code Playgroud)

您可以在第115页的书中看到它.比使用这种方法

[delegate_ command:self didRequestColorComponentsForRed: &redValue
                                                  green: &greenValue
                                                   blue: &blueValue];
Run Code Online (Sandbox Code Playgroud)

然后在第118页声明此方法

-(void) command: (SetStrokeColorCommand *) command
        didRequestColorComponentsForRed: (CGFloat *) red
                                  green: (CGFloat *) green
                                   blue: (CGFloat *) blue
 {
  *red = [redSlider_ value];
  *green = [greenSlider_ value];
  *blue = [blueSlider_ value];
 }
Run Code Online (Sandbox Code Playgroud)

声明中的含义*(*红色,*绿色,*蓝色)和含义(&redValue ...)是什么意思?我在代码中看到&只有&错误.

Kla*_*äck 6

*是指针声明符或取消引用运算符.在声明中,*表示指针变量.

& 是运营商的地址.

边注:

在尝试更高级的书籍之前,您应该学习语言的基础知识.