Objective c 如何通过引用传递和设置CGFloat?

Objective c 如何通过引用传递和设置CGFloat?,objective-c,Objective C,我想做一个方法,通过引用获取CGFloat 我可以这样做吗 - (void)doStuff:(CGFloat*)floatPointer 我猜这看起来一定和其他有两颗星星的物体指针不同。此外,我也不确定是否必须执行以下操作: - (void)doStuff:(const CGFloat*)floatPointer 当然,也不知道如何将CGFloat值分配给该floatPointer。可能&floatPointer=5.0f 有人能举一些例子解释一下吗?那太好了 如果通过引用传递CGFloat

我想做一个方法,通过引用获取CGFloat

我可以这样做吗

- (void)doStuff:(CGFloat*)floatPointer
我猜这看起来一定和其他有两颗星星的物体指针不同。此外,我也不确定是否必须执行以下操作:

- (void)doStuff:(const CGFloat*)floatPointer
当然,也不知道如何将CGFloat值分配给该floatPointer。可能
&floatPointer=5.0f


有人能举一些例子解释一下吗?那太好了

如果通过引用传递CGFloat,那么访问它很简单:

- (void)doStuff:(CGFloat*)floatPointer {
    *floatPointer = 5.0f;
}

说明:在获取引用时,需要取消引用指针(带*)以获取或设置值。

objective-c仍然是c,因此

-(void) doStuff (CGFloat *) f
{
  *f = 1.2;
}
打电话给

CGFloat f = 1.0;
[self doStuff:&f];
如果您(讨厌指针和;-)更喜欢objective-c++按引用传递,那么以下是一种替代方法:

-(void) doStuffPlusPlus:(CGFloat &) f
{
   f = 1.3;
}
拜访

CGFloat abc = 1.0;
[self doStuffPlusPlus:abc];

而且,您需要将源文件名从???.m重命名为???.mm,这很好。谢谢为什么我必须在CGFloat前面写const关键字?const关键字说:“我将引用传递给您,但不允许您修改它”。