NSUInteger
をNSString
にどのように変換しますか?試しましたが、NSString
は常に0を返しました。
NSUInteger NamesCategoriesNSArrayCount = [self.NamesCategoriesNSArray count];
NSLog(@"--- %d", NamesCategoriesNSArrayCount);
[NamesCategoriesNSArrayCountString setText:[NSString stringWithFormat:@"%d", NamesCategoriesNSArrayCount]];
NSLog(@"=== %d", NamesCategoriesNSArrayCountString);
arm64
のサポートを使用してコンパイルする場合、これは警告を生成しません。
[NSString stringWithFormat:@"%lu", (unsigned long)myNSUInteger];
あなたのNamesCategoriesNSArrayCountString
がNSString
であることを願っています。はいの場合は、以下のコード行を使用してください。
NamesCategoriesNSArrayCountString = [NSString stringWithFormat:@"%d", NamesCategoriesNSArrayCount]];
代わりに
[NamesCategoriesNSArrayCountString setText:[NSString stringWithFormat:@"%d", NamesCategoriesNSArrayCount]];
次のものも使用できます。
NSString *rowString = [NSString stringWithFormat: @"%@", @(row)];
ここで、rowはNSUIntegerです。
arm64
用にコンパイルするときは、警告を回避するために以下を使用してください。
[NSString stringWithFormat:@"%tu", myNSUInteger];
または、あなたの場合:
NSUInteger namesCategoriesNSArrayCount = [self.NamesCategoriesNSArray count];
NSLog(@"--- %tu", namesCategoriesNSArrayCount);
[namesCategoriesNSArrayCountString setText:[NSString stringWithFormat:@"%tu", namesCategoriesNSArrayCount]];
NSLog(@"=== %@", namesCategoriesNSArrayCountString);
(また、ヒント:変数は小文字で始まります。情報: ここ )
この String Format Specifiers の記事Appleは、フォーマットする必要がある場合に固有ですAppleタイプ:
OS Xは、NSInteger、NSUInteger、CGFloat、CFIndexなどのいくつかのデータ型を使用して、32ビットおよび64ビット環境で値を表す一貫した手段を提供します。 32ビット環境では、NSIntegerとNSUIntegerは、それぞれintとunsignedintとして定義されます。 64ビット環境では、NSIntegerとNSUIntegerは、それぞれlongとunsignedlongとして定義されます。プラットフォームに応じて異なるprintfスタイルの型指定子を使用する必要をなくすために、表3に示す指定子を使用できます。場合によっては、値をキャストする必要があることに注意してください。
[NSString stringWithFormat:@"%ld", (long)value]
:10進数で表示されるNSInteger[NSString stringWithFormat:@"%lx", (long)value]
:NSIntegerは16進数で表示されます[NSString stringWithFormat:@"%lu", (unsigned long)value]
:10進数で表示されるNSUInteger[NSString stringWithFormat:@"%lx", (unsigned long)value]
:16進数で表示されるNSUInteger[NSString stringWithFormat:@"%f", value]
_:CGFloat[NSString stringWithFormat:@"%ld", (long)value]
:CFIndexが10進数で表示されます[NSString stringWithFormat:@"%lx", (long)value]
:CFIndexは16進数で表示されます詳細については、記事を参照してください。