XCode 4.5 にアップグレードしてintsから、コンソールに出力すると異常に高い値になります。例えば:
int someInt = 300;
NSLog([NSString stringWithFormat:@"Some int: %d", someInt]); // prints Some int: 11581443
通常、これは、データ型に間違った書式文字列を使用した場合にのみ表示されます。私はLLDBを使用しています。
XCode 4.5 にアップグレードしてintsから、コンソールに出力すると異常に高い値になります。例えば:
int someInt = 300;
NSLog([NSString stringWithFormat:@"Some int: %d", someInt]); // prints Some int: 11581443
通常、これは、データ型に間違った書式文字列を使用した場合にのみ表示されます。私はLLDBを使用しています。
あなたの間違った使用NSLog。
void NSLog (
   NSString *format,
   ...
);
元:
int someInt = 100;
NSString* str = [NSString stringWithFormat:@"%d",someInt];
NSLog(@"%@",str);
また
NSLog(@"%d", someInt)
また
NSLog(@"%@", [NSString stringWithFormat:@"%d",someInt])
    試すNSLog(@"Integer: %i", int)
@askovpenはあなたの間違った使い方について正しいですがNSLog、あなたの質問のこの行は興味深いです:
データ型に間違ったフォーマット文字列を使用している
もちろん、あなたはゴミを出します - あなたはゴミを入れています!
NSLog最初のパラメーターを使用して、他のパラメーターがどれくらい大きくなるかを計算します。%cつまり、パラメータに char next を期待する場合です。置く%dと、intが必要になります。したがって、int を渡して float を期待するように指示すると、うまくいきません。なぜそうなることを期待するのですか?
他の XCode ではなく XCode 4.5 で異なる値を取得する理由は、コンパイル中のメモリ管理の変更が原因である可能性があります。または、その他のさまざまな原因が考えられます。