ObjectiveCでNSUInteger
値をint
値に変換するにはどうすればよいですか?
また、NSUInteger
のNSLog
値を印刷する方法、私は%@,%d,%lu
これらは動作せず、スローされますEx-Bad Accessエラー。
ありがとうございました
NSUInteger intVal = 10;
int iInt1 = (int)intVal;
NSLog(@"value : %lu %d", (unsigned long)intVal, iInt1);
詳細については、 こちら をご覧ください
Intへの明示的なキャスト
NSUInteger foo = 23;
int bar = (int)foo;
でも
NSLog(@"%lu",foo);
oSXの現在のビルドでは正常に動作します。 NSUIntegerは他のビルドではunsigned intとして型定義されているため、安全ではありません。 iOSなど。厳密な答えは、最初にキャストすることです。
NSLog(@"%lu",(unsigned long)foo);
こんにちは、私のために働いています...
これを試しました。
NSUInteger inbox_count=9;
NSLog(@"inbox_count=%d",(int)inbox_count);
//output
inbox_count=9
すべてに感謝します。
このように簡単です、
NSUInteger uintV = 890;
int intVal = (int) uintV;
NSLog(@"the value is : %lu", (unsigned long)intVal);
これは次のようなものを出力します、
値は89