我正在尝试使用以下代码使用WebView浏览PDF的页面。

 float Y = pdfNavigateController.webView.center.y + gY;
 [pdfNavigateController.webView.scrollView setContentOffset:CGPointMake(0,Y)];

值GY也是浮点,并且在用户选择下一页时会增加。该代码当前正在抛出“无效操作数”到二进制表达式('cgfloat'(又称float')和“ float *”)。我猜测操作数是无效的,因为该值是指指针,但我不知道如何在不遇到此错误的情况下传递增量值。

有帮助吗?

解决方案

如果GY是指针(到浮点),则需要将其解释以访问其值:

float Y = pdfNavigateController.webView.center.y + *gY;

编辑

确保您有一个有效的指针(即,GY指向实际的浮点)。如果这是一个非初始化的指针,它将无法正常工作。

你能告诉我们你如何得到 gY?

编辑2

我见过您说Gy被宣布为:

static float *gY = 0;

那是一个无效的指针。
而且您不能放弃无效指针。

当您增加它时,您会增加指针(内存地址),而不是值。因此,您的指针实际上指向垃圾。

为什么使用指针?您应该使用:

static float gY = 0;

其他提示

如果 gY 是通向浮动使用的指针 *gY:

float Y = pdfNavigateController.webView.center.y + *gY;

错误rmessage: ('CGFloat' (aka 'float') and 'float *')就是这样 CGFloat 期待 float 但是有一个浮点指针: float *

要调试首先将操作分解为访问指向的值。

float gYValue = *gY;
float Y = pdfNavigateController.webView.center.y + gYValue;

由于您发布了很少的代码,因此很难进行故障排除。但是我有一个主意。如果GX是方法的参数,则解决方案可能遵循:

为了解决此问题,请将方法声明添加到类的.H文件中。希望这会有所帮助 - 如果没有,请发布更多代码。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top