2011-12-22 8 views
-1

この問題は非常に奇妙です。Objective-C、floatをパラメータとして渡す

- (void)imageMove:(float)xx y:(NSInteger)yy 
{ 
    NSLog(@"xx=%f,----yy=%d",xx,yy); 
} 

私はこの関数を呼び出すとき: [自己imageMove:50 Y:50]。

ログを示しますXX = 0.000000、---- YY = 50

+0

それは私のために働く。私は 'xx = 50.000000、---- yy = 50'を得る。コード自体のコンテキストとそれを呼び出すコードを表示してください。 – mattjgalloway

+0

指定子 '50.f'を追加することで、整数(50)を浮動小数点数にすることができます。 –

+0

http://stackoverflow.com/questions/3948255/passing-float-variable-as-parameterを呼び出して問題を解決した場合は、コードを正しく表示できませんでした。あなたは '[self imageMove:50 y:50]'と呼んでいると言いましたが、そのページは 'performSelector'の何らかの形を呼び出していることを意味しています。だからあなたはあなたが実際にやっていることを間違って表した。それはあなたを助けることが不可能になります。 – matt

答えて

0

あなたが何らかの形で自分自身を混乱しています。私はあなたが言ったことをやってみたとき、私はこれを取得:

xx=50.000000,----yy=50 

それはあなたが得るものはないので、あなたは、あなたがやっていると言うものと異なる何かをしなければなりません。たとえば、あなたが忘れてしまった他の場所からimageMoveに電話している可能性があります。 NSLog行にブレークポイントを設定し、実際に何が起きているかを確認するためにコールスタックに戻って作業してください。また、そのようにすれば、引数として到着したときに実際に値xxが持つ値を知ることができます。

+0

私はあなたが言ったように私はデバッグしたが、xx = 0.000000、私はhttp://stackoverflow.com/questions/3948255/passing-float-variable-as-parameterから私の問題を解決した、私はちょうど私がなぜできないのか分からないパラメータとしてfloatを使用します。どうも。 – droughtrain

+0

あなたの*完全なコードを表示しています... – matt

関連する問題