【发布时间】:2013-02-06 12:24:22
【问题描述】:
今天我阅读了 Carlo Chung 的“iOS 的 Pro Objective-C 设计模式”。 所以我阅读了适配器模式并看到了在协议中声明的这个方法:
-(void) command: (SetStrokeColorCommand *) command
didRequestColorComponentsForRed: (CGFloat *) red
green: (CGFloat *) green
blue: (CGFloat *) blue;
您可以在本书的第 115 页看到它。 比用这个方法
[delegate_ command:self didRequestColorComponentsForRed: &redValue
green: &greenValue
blue: &blueValue];
然后在第 118 页声明此方法
-(void) command: (SetStrokeColorCommand *) command
didRequestColorComponentsForRed: (CGFloat *) red
green: (CGFloat *) green
blue: (CGFloat *) blue
{
*red = [redSlider_ value];
*green = [greenSlider_ value];
*blue = [blueSlider_ value];
}
声明中的 * 是什么意思 (*red, *green, *blue) 和 & (&redValue...) 是什么意思?我看到 & 代码中只有 &error 。
【问题讨论】:
-
阅读一些关于 C 或 C++ 指针的资料。
-
& 是地址运算符,* 将变量声明为指针,或取消引用已声明的 cplusplus.com/doc/tutorial/pointers
-
唯一有效的答案是从一本书开始。我建议这个:bignerdranch.com/book/…。它以 C 开头,然后跳转到 Objective-C。
-
谢谢,现在我明白是什么了
-
在进入 Objective-C 之前,您确实需要对 C 有基本的了解。
标签: iphone ios objective-c xcode