Pregunta

Estoy tratando de usar el siguiente código para moverse a través de las páginas de un PDF usando WebView.

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

El valor Gy también es un flotador y se incrementa a medida que el usuario selecciona la página siguiente. El código actualmente está lanzando un error 'operandos inválidos a la expresión binaria (' cgfloat '(también conocido como' float ') y' float *'). Supongo que los operandos no son válidos ya que el valor es un puntero, pero no sé cómo pasar el valor incrementado sin obtener este error.

¿Fue útil?

Solución

Si Gy es un puntero (para un flotador), debe desreferirlo para acceder a su valor:

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

EDITAR

Asegúrese de tener un puntero válido (es decir, Gy señala un flotador real). Si es un puntero no inicializado, no funcionará.

¿Puedes decirnos cómo se obtiene? gY?

Edición 2

Te he visto decir que Gy es declarado como:

static float *gY = 0;

Ese es un puntero nulo.
Y no puedes desarmar un puntero nulo.

Cuando lo incrementa, incrementa el puntero (la dirección de memoria), no el valor. Entonces su puntero en realidad apunta a la basura.

¿Por qué usas un puntero? Deberías usar:

static float gY = 0;

Otros consejos

si gY es un puntero a un uso flotante *gY:

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

El error RMessage: ('CGFloat' (aka 'float') and 'float *')está diciendo que CGFloat esperado float Pero tengo un puntero flotante: float *

Para la depuración, primero rompa la operación para acceder al valor apuntado.

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

Es difícil solucionar problemas ya que ha publicado una cantidad muy pequeña de su código. Sin embargo, tengo una idea. Si el GX es un argumento de un método, la solución puede estar siguiendo:

Para solucionar este problema, agregue la declaración del método al archivo .h para su clase. Espero que esto ayude, si no, publique más código.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top