質問

次のコードを使用して、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 期待されるa float しかし、フロートポインターを手に入れました: float *

デバッグするには、最初に操作を分解して、指された値にアクセスします。

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

コードをごくわずかに投稿したため、トラブルシューティングが困難です。しかし、私にはアイデアがあります。 GXがメソッドの引数である場合、ソリューションは次のとおりです。

この問題を修正するために、クラスの.hファイルにメソッドの宣言を追加します。これが役立つことを願っています - そうでない場合は、もう少しコードを投稿してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top