2011-10-04 7 views
7

私が使用してfloat値でのNSLogをやろうとしています:NSLogはfloatで動作しませんか?

NSLog(@"THE LOG SCORE : %@", x); 

をし、私も試してみました:

NSLog(@"THE LOG SCORE : %@", [NSString stringWithFormat:@"%@", x]); 

をしかし、それは仕事をdoesnt!それがうまくいかない理由は何ですか?私が手にエラーが%@をオブジェクト上で動作するように意図されてEXC_BAD_ACCESS

おかげ

答えて

36

で、フロートはオブジェクトではありません。フロート試し行うには:

NSLog(@"THE LOG SCORE : %f", x); 

はここで役に立つ記事です

http://vormplus.be/blog/article/using-nslog-to-debug-your-iphone-application

+0

NSFloatをCGFloatと混同しなければなりません.CGFloatは、単に「float」と定義されていてオブジェクトではありません。NSFloatオブジェクトがない限り、私は認識していませんか? –

+0

NSFloatのようなものはありません。 http://stackoverflow.com/questions/6702923/does-nsdouble-nsfloat-nsother-than-nsinteger-exist – vikingosegundo

+2

他の指定子については、Appleの[String Format Specifiers Guide](http://developer.apple.com)を参照してください。 /library/mac/documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html)。 – ughoavgfhw

0

EXC_BAD_ACCESSは常にあなたが既にリリースされたオブジェクトにアクセスしていることを意味する@ xはobjects.Soを扱っていることを確認してください。あなたの変数 "x"は生きていたオブジェクトです。

+0

xcode4のEdit Scheme-> Arguments->環境変数で、NSZombieEnabledを追加し、YESに設定してください.Uは間違いを見つけます。 –

関連する問題